![]() |
|
|
Googleのunix.com
|
|||||||
| シェルプログラミングとスクリプティング KSH 、 CSH 、 shに、 bashの、はPerl 、 PHPは、削除するsed 、 Awkの、他のシェルスクリプトやシェルスクリプト言語についての質問の投稿はこちら。 |
その他のUNIXおよびLinuxフォーラムトピックは参考にすること
|
||||
| スレッド | スレッドスターター | フォーラム | 返信 | 最後の投稿 |
| bashの変数を渡すからbashスクリプトからperlのに | arsidh | シェルプログラミングとスクリプティング | 10 | 2008年6月4日 01:25午後 |
| 解析文字列変数から | racbern | シェルプログラミングとスクリプティング | 3 | 2008年4月7日 01:04午後 |
| 解析変数 | mpang_ | シェルプログラミングとスクリプティング | 2 | 2007年1月3日 07:31午前 |
| bashの環境変数を含む変数@ | Yogesh Sawant | シェルプログラミングとスクリプティング | 4 | 2006年12月20日 06:51午前 |
| 文字列変数を解析 | methos | シェルプログラミングとスクリプティング | 3 | 2005年10月18日 05:18午後 |
![]() |
|
|
LinkBack | スレッドツール | このスレッドを検索 | スレッドを評価 | 表示モード |
|
|
|
||||
|
どのようにしてbashスクリプトで変数を解析ですか?
私は自分のWebサーバ( Apache2の)上で使用するスクリプトをしている。私Lighttpdに変更すると、若干の変更が必要です。
これは私のApacheサーバで使用され # ! / binに/ bashの # 3つのパラメータ: <ドメイン名> <ユーザー名> <XXXXXXXX>受け入れる #ドメイン名のWWW (だけdomain.com )です #ユーザ名ベスト6になるだろう- 10文字長 最後に#存在する場合にのみチェックされ、 MySQLの場合はそれを使用して #パスワードを入力します。もし存在しない- MySQLアカウントを作成していません [ " $ 3 " ! \u003d " " ] ;し ---以下略---- $ 2 -メートルuseradd ファイル名\u003d / etc/apache2/sites-available / $ 2.www エコー" <VirtualHost 10.10.10.10> " > $ filenameに @ $ 1 " ServerAdminウェブマスター" > > $ filenameにエコー ---中略もう少し----- 私は今、最初の変数をパースするためにいくつかの文字を追加する必要があります: そこで、基本的に: example.comを使用して # # example.com # $のHTTP [ "ホスト" ] \u003d 〜 " ( ^ | \ 。 )例: \ 。 com $ " ( server.document -ルート\u003d " /ホーム/例えば、 / public_htmlの" server.errorlog \u003d "の/ var / log / lighttpd /例" error.log accesslog.filename \u003d "の/ var / log / lighttpd /例" access.log server.error -ハンドラ- 404 \u003d " / e404 - example.php " ) が必要になること: エコー" # " > > $ filenameに " # % 1 " > > $ filenameにエコー エコー" # " > > $ filenameに エコー" $ HTTPの[ \ "ホスト\ " ] \u003d 〜 \ " ( ^ | \ 。 )<ドメイン>\ 。<tld>$ \ " ( " > > $ filenameに ---など---- 私は最善の方法までの期間に衝突して1つの変数と、別の最後の部分は、最初の部分を使用して解析することだと思います。私はこの意味がほしい。 すべての支援をいただければ幸いです。 アラン |
|
||||
|
ので、このようなものですか? コード:
#!/bin/bash
domain=${1%.*}
tld=${1#*.}
cat <<HERE
#
# $domain.$tld
#
\$HTTP["host"] =~ "(^|\.)$domain\.$tld\$" {
server.document-root = "/home/$domain/public_html"
server.errorlog = "/var/log/lighttpd/${domain}-error.log"
accesslog.filename = "/var/log/lighttpd/${domain}-access.log"
server.error-handler-404 = "/e404-$domain.php"
}
HERE
例を実行する: vnix $を/ tmp / htt example.com # # example.com # $のHTTP [ "ホスト" ] \u003d 〜 " ( ^ | \ 。 )例: \ 。 com $ " ( server.document -ルート\u003d " /ホーム/例えば、 / public_htmlの" server.errorlog \u003d "の/ var / log / lighttpd / exampleerror.log " accesslog.filename \u003d "の/ var / log / lighttpd /例" access.log server.error -ハンドラ- 404 \u003d " / e404 - example.php " ) 私は右側のすべての詳細がほしい。 あなたは本当に" "は、私のような単純な文字列置換を行うことができますが、これらの変数を解析することができますが、基本的には$ 1 $ 2 $ 3および外部のユーティリティを使用する場合は何も一部の愛好家が必要だ。 |
![]() |
| ブックマーク |
| スレッドツール | このスレッドを検索 |
| 表示モード | このスレッド |
|
|