我試圖創建LS的別名(應基本上只是映射到ls -lah
) 我試過下面的代碼,但它不工作:如何創建魚類殼別名
function ls
ls -lah
end
funcsave ls
但是當我打電話給它時,我得到這個消息: 函數'ls'立即調用它自己,這會導致無限循環。 在函數'ls'中 在標準輸入上調用
我試圖創建LS的別名(應基本上只是映射到ls -lah
) 我試過下面的代碼,但它不工作:如何創建魚類殼別名
function ls
ls -lah
end
funcsave ls
但是當我打電話給它時,我得到這個消息: 函數'ls'立即調用它自己,這會導致無限循環。 在函數'ls'中 在標準輸入上調用
如果您需要製作ls
的別名,那麼上面的答案是可以的。 但是,魚已經有ls -lah
的命令,它是la
。
什麼你要找的是command
命令。
我還建議將任何參數(存儲在)傳遞給別名命令。
所以,你的例子應該是:
function ls
ls -lah $argv
end
而要做到這一切與一個簡單的命令,你可以簡單地使用alias
命令。
alias ls "command ls -lah"
平時注意別名不會讓你漂亮的自動完成建議有助於魚的友好性。這種特殊的情況是個例外,因爲功能和原來的命令都以同樣的方式,但除此之外,這裏有兩種方式獲取落成反正:
非常感謝!別名/函數現在可用!你有什麼想法,當通過函數調用'ls -lah'的輸出的「着色」消失了嗎? – ners10100100
我的猜測是你的'ls'命令已經被另一個函數包裝了。我個人使用'grc',所以我可以看到完全相同的效果。 首先,在一個沒有別名的''shell'中,運行'functions ls'並查看是否有一個帶有這個名字的函數。如果有的話,你可以像這樣重命名:'functions -c ls ls_color',然後在你的別名函數中,而不是'command ls $ argv',調用'ls-color $ argv'。 – oranja
不錯!謝謝,我不知道! :) – ners10100100
@ners10100100如果你想檢查所有的魚特定的命令,你可以在終端,這將啓動web配置和功能選項卡下,你會發現很多有關的信息'fish_config'。 – keramzyt