序文 特に bash 環境では、スクリプトの実行方法によって結果が異なります。スクリプトを実行する方法は、おおよそ次のとおりです。 まず、簡単な test.sh ファイルを作成します。 #!/bin/bash read -p "あなたの名前を入力してください:" firstname read -p "姓を入力してください:" lastname echo -e "\nあなたのフルネームは: $firstname $lastname" sh test.shを使用して実行します sh test.sh を使用してスクリプト ファイルを実行します。このメソッドは、sh シェルを使用して test.sh ファイルを実行することを示します。sh は bash に置き換えられました。test.sh では、#!/bin/bash を使用してファイルを実行することを宣言していますが、bash の代わりに sh を使用すると、#!/bin/bash は機能しなくなります。 bashを使用してtest.shを実行する この方法は、スクリプト ファイルを実行するために /bin/bash シェルを使用する点を除いて、実際には sh test.sh の原理と同じです。 したがって、実際には、dash test.sh も使用できます。スクリプトを実行するためにどのシェルを使用するかによって異なりますが、sh、bash、dash にはいくつかの違いがあります。let などの一部のキーワードについては、bash はサポートしますが、sh と dash はサポートしません。一部のキーワードについては、bash の使用を選択してください。 point.Executeを使用する この方法を使用する前に、ファイルに実行権限を追加する必要があります。 $ chmod +x テスト.sh 実行権限を追加したら、./test.sh を使用してスクリプトを実行できます。この方法は bash test.sh と同じです。デフォルトでは、bin/bash を使用してスクリプトが実行されます。 この実行方法のみ、ファイルに実行権限を追加する必要があります。他の方法では必要ありません。 ソースを使用して実行 ソースを使用してスクリプトを直接実行することもできます。 ソース test.sh 違い sh test.sh、bash test.sh、./test.sh を使用してスクリプトを実行すると、test.sh スクリプトは新しいシェル環境を使用してスクリプト内のコマンドを実行します。つまり、これら 3 つの方法を使用する場合、スクリプトは実際には子プロセスのシェルで実行されます。子プロセスが完了すると、子プロセス内の変数と操作は終了し、親プロセスに返されません。 理解できない? ?次の例を見てください。 [root@ubuntu] # bash test.sh 名前を入力してください: yao <==名前を入力してください 姓を入力してください: pentonBin <==姓を入力 あなたのフルネームは: yao pentonBin です [root@ubuntu] # $firstnameをエコーします <==ここでは出力なし ソースメソッドを使用してスクリプトを実行するとどうなるでしょうか? [root@ubuntu] # ソース test.sh 名前を入力してください: yao <==名前を入力してください 姓を入力してください: pentonBin <==姓を入力 あなたのフルネームは: yao pentonBin です [root@ubuntu] # $firstnameをエコーします yao <== ここでfirstnameを出力します つまり、source メソッドは親プロセスでスクリプトを実行し、test.sh のすべての操作は元のシェルで有効になります。システムからログアウトせず、~/.bashrc に書き込まれた設定を有効にしたい場合は、bash ~/.bashrc ではなく source ~/.bashrc を使用する必要があります。 以上がこの記事の全内容です。皆様の勉強のお役に立てれば幸いです。また、123WORDPRESS.COM を応援していただければ幸いです。 以下もご興味があるかもしれません:
|
>>: MySQL 5.7.24 のインストールと設定のグラフィックチュートリアル
この記事では、カレンダー効果を実現するためのjQueryの具体的なコードを例として紹介します。具体的...
目次差分アルゴリズムレイヤーごとの比較同じタイプのコンポーネントを比較する同じタイプの要素の比較子ノ...
データの応答性について話す前に、Vue はデータに対して具体的に何を行うのかという非常に重要な問題を...
1. インストールスクリプト(composer-setup.php)を現在のディレクトリにダウンロー...
序文MySQL データベース ロックは、データの一貫性を実現し、同時実行性の問題を解決するための重要...
まず、セキュリティ上の理由から、JavaScript はローカル リソース ファイルに直接アクセスで...
目次序文グローバルロックテーブルロックテーブルロックメタデータ ロック (MDL ロック)要約する参...
calc は数値を計算するために使用される CSS 関数です。長さ、角度、時間などを計算できます。 ...
MySQL スロー クエリ (正式名称はスロー クエリ ログ) は、MySQL によって提供されるロ...
目次1. 基本原則2. 特定のコード要約する1. 基本原則まず、生放送エリアを10の部分に分割し(個...
1. mysql-5.7.17-winx64.zip をダウンロードします。リンク: https:/...
1. 構成デフォルトでは、最初の 2 つはチェックされていないので、チェックする必要があります。 (...
GitHub が提供するコード ホスティング サービスと同様に、Docker Hub はイメージ ホ...
概要MySQL の最も強力な機能の 1 つは、データ取得を実行しながらテーブルを結合できることです。...
この記事の例では、ログインページを実装するためのlayuiの具体的なコードを参考までに共有しています...