2017-10-11 5 views
1

(自分のマシン上の)現在のcd関数を展開するcd関数を作成したいと思います。/usr/local/Cellar/fish/2.6.0/share/fish/functions/cd.fishにあります。これは可能ですか?既存の関数を他の関数と同じ名前でラップすることはできますか?

したがって、このような何か:あなたは同じ名前の2つの機能を持つことができない

function cd 
    if i_can_handle_it 
     do_my_thing_with $argv 
    else 
     call /usr/local/Cellar/fish/2.6.0/share/fish/functions/cd.fish $argv 
    end 
end 

答えて

2

。同じ名前の組み込み関数、関数、および外部コマンドを持つことができます。この問題の標準的な解決方法は、最初にラップする関数の名前を変更することです:functions -c cd cd2。次に、cd2を呼び出すcd関数を定義します。これは、cdが既に実行され、定義されているかどうかに関係なく機能します。名前を変更すると、自動的にロードされるためです。

+0

Hmm。それは残念だ。それらを連鎖させる方法があるはずです。 – dar512

関連する問題