17

というわけで、私は Fish が大好きですが、スクリプト作成については助けが必要です。特に、実行中のスクリプトのパスを見つけます。

これがBASHのソリューションです。Bash スクリプトのソースディレクトリを内部から取得します

魚と同等のものを見つけるのを手伝ってくれる人はいますか?

4

3 に答える 3

26

status --current-filename現在実行中のスクリプトへのパスを出力します。

status コマンドの詳細については、 http://fishshell.com/docs/current/commands.html#statusでドキュメントを実行man statusまたは参照できます。

于 2013-10-30T04:01:41.933 に答える
9

魚の甲羅には、

set DIR (cd (dirname (status -f)); and pwd) 

BASHワンライナーと同等です

DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )"

Bashスクリプトは、それが保存されているディレクトリを知ることができますか? .

注: 魚の殻はcdそのディレクトリに入り、そこにとどまります。Bash はcdそうしますが、サブコマンドに含まれたままになります。

于 2015-12-05T10:37:17.813 に答える
5

ファイルパス

スクリプトの完全なパスを取得するにはstatus --current-filename、 または を使用set FILE (status --current-filename)して変数を宣言します。

ディレクトリ パス

スクリプトが格納されているディレクトリへのフル パスを取得するにはdirname (status --current-filename)、 またはを使用set DIR (dirname (status --current-filename))して変数を宣言します。

この質問に相当するものは次のとおりです。

set DIR (dirname (status --current-filename))同等です

于 2016-04-14T15:46:57.273 に答える