本文
ノート
編集
差分
Edit of UNIX/コマンド/シェル・シェル組み込み/foreach
*for (sh・bash) [#i1662eeb] bash の場合は for 文を使用します。例えば % for i in *.jpg > do > convert $i ${i%jpg}gif > done のように使用します。いきなりコマンドを実行せずに > echo "convert $i ${i%jpg}gif" のように試してからのほうが安全です。 自分はシェルスクリプトを書くときは bash で書くのでこちらのほうに 慣れてしまいました。結構便利です。 #navi(UNIX/コマンド,,footer)
Do not change timestamp
TITLE:foreach - 繰り返し実行 #navi(UNIX/コマンド) 指定されたコマンドを繰り返し実行することができます。csh・tcsh の内部コマンドです。また、while というコマンドもあります。if や case などもあります。 sh, bash では for コマンドを使用します。 #contentsx *foreach (csh・tcsh) [#i0f2ceb8] 例えば % foreach n ( *.c ) と実行すると、 foreach? のように問い合わせてきます。例えば foreach? echo $n foreach? end とすれば、 カレントディレクトリ以下の拡張子が .c のファイルすべてが表示されます。 (See also echo) () の中で指定された文字列が一つづつ順番に n に代入されて end までに打ち込まれたコマンドを実行されます。 コマンドの行では n の内容を $n の様に $ をつけて参照します。 シェルの基本です。 % foreach n (*.c) foreach? echo gcc -o $n:r.o $n foreach? gcc -o $n:r.o $n foreach? end のようにすれば gcc -o sample.o sample.c gcc -o test.o test.c のように繰り返し実行されます。:r などについては tcsh の技 のほうを参照してください。 *for (sh・bash) [#i1662eeb] bash の場合は for 文を使用します。例えば % for i in *.jpg > do > convert $i ${i%jpg}gif > done のように使用します。いきなりコマンドを実行せずに > echo "convert $i ${i%jpg}gif" のように試してからのほうが安全です。 自分はシェルスクリプトを書くときは bash で書くのでこちらのほうに 慣れてしまいました。結構便利です。 #navi(UNIX/コマンド,,footer)
ログインまたはアカウント作成