これは私の問題です。ファイルGC.xmlがどこにあるディレクトリのリストを取得するには、次のBashスクリプト:変数のフォルダのリストと正確なディレクトリ名をgrep
EXBRANDS=
検索/ var/www/htmlと設定/ -maxdepth 3 -name "GC.xml" 型F | awkの-F '/' ';
#echo $EXBRANDS
#dir1 dir2 dir3 (it appears exactly like this)
#read var
は私がいるところだ例
のための "DIR" を入力します。' {$ 5印刷}私のディレクトリリストと比較するために入力した正確なパターンを特定するのに困っています。
echo $EXBRANDS | grep "[ $var]\|[$var ]\|[ $var]" if [[ $? -eq 0 ]] ; then ..... else ..... fi;
私は私が$ VARに値「DIR」を渡すと、私のgrepコマンドは、実際のディレクトリを検索し、$?= 0
私の願いを返すように私grepコマンドに問題があると思いますgrepコマンドでパターン$ varを正確に見つけた場合にのみ、$?= 0を取得することです...
ここで最高のgrep(egrep)オプションは何ですか?または私の方法は完全に愚かですか?
問題を解決しましたが、$ varにEnterキーを押した場合、$?= 0 ...と考えているようです。どうすればこのケースも取り除くことができますか? – Rgonomike
私は空の文字列に次のコードを実行しても意味がないので、実行を続行する前に$ varにいくつかの検証を追加してください。 * if [-z "$ var"] *でテストし、正常に終了するとエラーが発生します。 –
ありがとうございます。今は完璧に動作します。 – Rgonomike