2017-02-06 8 views
4

zsh関数を魚の関数に変換する方法については、thisという素晴らしい答えがありました。今私は別の質問があります。引数を渡して、その関数を別の関数から呼び出すにはどうすればよいですか?魚のシェルで別の関数を呼び出す

私はこれ試してみました:

function ogf 
    echo "Cloning, your editor will open when clone has completed..." 
    source (env TARGET_DIRECTORY=~/students EDITOR=$EDITOR clone_git_file -ts $argv[1] | psub) 
end 

function wogf 
    env EDITOR=webstorm ogf "$argv[1]" 
end 

を、私は "ENV:OGF:そのようなファイルやディレクトリはありません" を取得します。

目的はこの1回の実行でEDITOR環境変数を変更してからogfを呼び出すことだけです。

答えて

3

envコマンドは、他の外部コマンドだけを実行できます。シェル組み込み関数や関数を呼び出すことはできません。シェルが魚、bash、または何か他のものであるかどうかにかかわらず。その解決方法は、--no-scope-shadowingフラグで呼び出されている関数を定義し、呼び出し関数内でset -lを使用することです。

関連する問題