フィッシュ シェル スクリプトで、シェル スクリプトが存在するパスを取得することは可能ですか? bash では、BASH_SOURCE 変数を使用してこれを行うことができます。
1315 次
1 に答える
9
1つの方法は、statusコマンドを使用することです。
例えば。
~/tmp> echo status -f > show_filename.fish
~/tmp> fish show_filename.fish
/home/foo/tmp/show_filename.fish
-
ああ、ごめんなさい-あなたのコメントから判断すると、私は質問を読み間違えました。スクリプトのディレクトリではなく、完全修飾パスを意味していると思いました。
ステータス結果をdirnameに送信するだけで済みます。ステータスのように、これは魚に組み込まれている機能ではありませんが、魚はこの機能を可能な限り外部委託する傾向があります(魚のデザインドキュメントの「ミニマリズムの法則」を参照)。これについては、ドキュメントにこれ以上のコマンドが表示されないので、今のところ取得できるのと同じくらい良いのではないでしょうか。
例を修正して、show_filename.fishの内容を次のように変更します。
dirname (status -f)
今、あなたは得るべきです:
~/tmp> fish show_filename.fish
/home/foo/tmp
于 2010-12-10T08:59:47.287 に答える