GNU/Linux >> Linux の 問題 >  >> Linux

bash スクリプトのコマンドとターミナルのコマンドの違い

端末はシェルを実行します (おそらく 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 内部スクリプトからは見えません。


Linux
  1. Bash の ${} と $() の違い

  2. bashの&>と>&の違いは何ですか?

  3. pts と tty の違い

  1. ログインシェルと非ログインシェルの違いは?

  2. コマンドライン(bash)の「And」の違い??

  3. 「ifconfig」コマンドと「ip」コマンドの違い

  1. Linuxでの「su」コマンドと「su-」コマンドの違い

  2. シェル変数と環境変数の使用法の違いは?

  3. Linux – PtsとTtyの違いは?