1

Linux 2.6 を実行しています。bash シェルで、ファイルをソースしたいと思います。ソースファイルとして現在のディレクトリにいる場合、次のことができます

source abc.sh

しかし、私が他のフォルダにいる場合は、そうします

source /path-to/abc.sh

スクリプトのコマンド ラインでコマンド ソースの後に入力されたものをキャプチャしたいので、たとえば、「abc.sh」にアクセスしたいのですが、後者の場合は「/path-to/」にアクセスしたいのです。 abc.sh"内のabc.sh"

ありがとうございました

4

1 に答える 1

4

$BASH_SOURCE現在処理されているスクリプトを含む変数を探しています。

たとえば、次の場合/tmp/a.sh:

echo $BASH_SOURCE

それで:

$ cd /tmp
$ . a.sh
a.sh
$ . /tmp/a.sh
/tmp/a.sh
$ . ../tmp/a.sh
../tmp/a.sh

詳細については、info bashを参照してください。

于 2012-07-24T15:10:12.273 に答える