実行前にコマンドラインはどこに保存されていますか?

実行前にコマンドラインはどこに保存されていますか?

このようなスクリプトがあります。~/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)は、スクリプトファイルと同様に、コマンドラインをメモリに簡単に読み込むことができます(いくつかのマイナーなバッファリングに関する注意事項があります)。実行はまったく同じように動作します。

関連情報