この質問にはすでに回答があります :ソーシング(「。」または「ソース」)とbashでのファイルの実行の違いは何ですか?
(5つの回答)
6年前に閉鎖されました。
Linux
(5つの回答)
6年前に閉鎖されました。
t
は単純なスクリプトです
以下の2つのケースの違い:
$ . t
および
$ ./t
承認された回答:
. t
tを実行するために新しいシェルを開かないため、作成または変更されたすべての変数は実行後も残ります。 tは$PATHで検索されるため、現在のパスからtを実行する場合、コマンドは. ./t
./t
現在実行用のシェルを生成しているパスにあるtを実行します。
もう少し明確にするために。 tに含まれていると仮定します:
#!/bin/bash
data=hello
後 ./t
を実行します echo $data
ができます コマンドラインからは何も得られませんが、. ./t
echo $data
を実行します 画面にこんにちはが表示されます。