前置作業:
在自訂函式之前,必須先瞭解 fish shell 本身已經有提供許多方便的 function,在 Mac 主要是存放於 /usr/local/share/fish/functions,在這個資料夾可以看到許多函式檔案。不過,我們基本上不會去變動這個資料夾,我們可以在家目錄底下建立資料夾,如:~/.config/fish/functions,稍後我們自訂的函式檔案就可以存放於此。
建立自訂函式:
首先建立自訂的函式檔案,
# 檔名要跟函式名稱一樣
vim ~/.config/fish/functions/myfunction.fish
這邊簡單做一個範例,# 函式名稱為 myfunction
# $argv 為輸入參數
function myfunction
echo "hello, " $argv
end
將檔案儲存之後即完成。使用自訂函式:
於 fish shell 底下執行,
#未給予參數
~> myfunction
hello,
# 給予參數
~> myfunction john
hello, john
注意事項:
自訂函數請避免無窮迴圈的問題,以下列出一個會產生無窮迴圈的範例
function shutdown
shutdown -h now
end
Environment :
・ Mac OSX
・ fish shell 2.1.0
Reference :
・ Fish shell tutorials