まず、プログラムを見てみましょう test.sh
#!/bin/sh #this is a test. cd /tmp echo "hello,this is a test"
プログラムの実行方法:
1. ファイルに実行可能権限。ファイルを直接実行します。
chmod コマンドは、ファイルのアクセス許可を変更するために使用されます。
x は、ファイルを実行可能にする権限です。上記のプログラムを実行したのと同じように。
(推奨チュートリアル: linux チュートリアル)
2. コマンド インタプリタを直接呼び出してプログラムを実行します。
インタープリタは /bin/sh なので、sh コマンド インタープリタを使用してプログラムを実行します。
3. ソースを使用してファイルを実行します。
プログラム実行の違いの説明:
シェル プログラムの実行に使用する 3 つの方法のうち、最初の 2 つの方法の実行プロセスは次のとおりです。
(1) 親プロセスはコマンドを受信しましたが、それが組み込みコマンドではないことが判明したため、外部コマンドを実行するための独自のシェル プロセスを作成しました
( 2) このシェル子プロセスは、それ自体を置き換える /bin /sh を使用し、sh プロセスは $PWD 変数を含む独自の実行環境変数を設定します。
(3) sh プロセスは、組み込みコマンド cd および echo を順番に実行します。この際、cd コマンドにより sh プロセス(子プロセス)の環境変数が変更されます。
(4) 子プロセスが実行されると、子プロセスは終了しますが、待機していた親プロセスが起動してコマンドを受け付け続けます。
最初の 2 つのメソッドの実行結果が予想と異なる理由は、親プロセスのカレント ディレクトリ (環境変数) は子プロセスからは変更できないことがわかりました。
ただし、ソースを使用してシェル スクリプトを実行する場合、子プロセスは作成されず、親プロセス内で直接実行されます。
推奨される関連ビデオ チュートリアル: linux ビデオ チュートリアル
以上がLinuxでシェルプログラムを実行する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。