環境変数を設定する必要があります。通常は、
source script.sh
しかし、今では、ブートプロセス中に自動化しており、デフォルトではsh
Shellでルートがブートしているように見えます。このスクリプトをsh
でソースするにはどうすればよいですか?
ドットコマンド「.
」は、Cシェル(およびBash)source
コマンドと同等です。 POSIXで指定され( dot
を参照)、BourneおよびKornシェル(およびzsh
、私は信じています)でサポートされています。
. somefile
シェルは$PATH
を使用してファイルを検索しますが、ファイルは読み取り可能であればよく、実行可能ファイルではありません。
以下のコメントに記載されているように、ファイルの相対パス名または絶対パス名を指定できます。スラッシュを含む名前は$PATH
を使用して検索されません。そう:
. /some/where/somefile
. some/where/somefile
. ./somefile
指定された3つの異なる場所に存在する場合、すべてを使用してsomefile
を見つけることができます(.
をls -l
に置き換えて、リストされたファイルを表示できる場合)。
世界のペンダントが団結!はい、現在のディレクトリがルートディレクトリである場合、/some/where/somefile
と./some/where/somefile
は同じファイルを参照します-シンボリックまたはハードのリンクがなくても、同じ実際のパスを使用します(など) ../../some/where/somefile
)。