このようなスクリプトがあります。~/draft
$ cat test.sh
#! /usr/local/bin/bash
for i in ./*;do
echo $i
done
実行すると、test.sh
コードブロックは次の場所に保存されます。
$ bash test.sh
./first.html
./second.html
./test.sh
./third.html
だからスクリプト名を実行しtest.sh
て出力を取得します。
あるいは、次のコマンドを直接実行することもできます。
$ for i in ./*; do echo $i; done
./first.html
./second.html
./test.sh
./third.html
2番目のブロックでも同じ結果が出ました。
前のコードがfileにあるので、test.sh
このコマンドのファイル名は何ですかfor i in ./*; do echo $i; done
?
答え1
コマンドは実行するファイルに保存する必要はありません。インタプリタ(この場合bash
)は、スクリプトファイルと同様に、コマンドラインをメモリに簡単に読み込むことができます(いくつかのマイナーなバッファリングに関する注意事項があります)。実行はまったく同じように動作します。