インフラ系SEの技術メモ

雑なエンジニアが低信頼性のメモを書いています。参考程度にとどめてください。

(Linux)ドット.の後にスペースを入れてからスクリプトを実行する理由

環境変数を引き継ぎたい場合

例えばとあるスクリプトがあった場合、一般的には

/hoge/test.sh

とフルパスで実行します。

が、例えばprofileの読み込み等の場合は変数をそのシェルで利用したいので

source /hoge/test.sh

と実施します。

これと同じ効果を持つのが

. /hoge/test.sh

という記載法。

つまり、ドットがないと別のシェルが立ち上がってそこで変数が設定されても、スクリプトが終わるとそれは残らないから、ですね。