2017-10-11 91 views
1

我想創建一個cd函數,它擴展了當前cd函數(在我的機器上)的生命期爲/usr/local/Cellar/fish/2.6.0/share/fish/functions/cd.fish。這可能嗎?是否有可能用魚的同名名稱來包裝現有的函數?

因此,像這樣:

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。然後定義您的cd函數,調用cd2。請注意,無論cd是否已經運行並因此定義,這都會起作用,因爲首先更改名稱會導致它自動加載。

+0

嗯。這令人失望。應該有辦法鏈接它們。 – dar512

相關問題