端末はシェルを実行します (おそらく bash
)、これはコマンドを要求して実行するものです。
この対話モードの他に、シェルを使用してファイルからコマンドを実行することもできます。ファイル内のコマンドを実行するには、 bash script
のようにシェルを直接呼び出すことができます または、「シバン」 #!/bin/bash
でファイルを開始できます 実行可能にします (chmod +x script
)。次に、スクリプトをバイナリのように扱い、たとえば ./script
として実行できます または、シェルが探している場所に置きます。 (echo $PATH
)
ほとんどの場合、対話型シェルと実行に使用されるシェルの両方が bash
です .「Linux を学ぶ初日」の観点から見ると、bash は両方のモードでまったく同じように動作します。 - かなり後で、わずかな違いにつまずくかもしれません。本当に詳しく知りたい場合は、 man bash
を読むことをお勧めします 「インタラクティブ」に言及している場所を検索します。 (/
を押すと、man ページを検索できます。 .)
注意すべき重要な点の 1 つは、スクリプトが新しいプロセスとして実行されることです。これは特に、スクリプトで設定された変数が呼び出しシェルで表示されないことを意味します。
$ export a=1
$ echo $a
1
$ bash -c 'echo $a;a=2;echo $a' # change the value in a script
1
2
$ echo $a # value not changed here
1
$
エクスポートなし a
内部スクリプトからは見えません。