自己寫了不少的 Shell script function 來使用,但是平常沒在記憶名字,常常忘記又寫了一次,在 Bash shell 要怎麼列出自己寫得 Function name 呢?
Bash shell 列出自己定義的 Function
Shell Script 的 Function 要怎麼全部列出來,然後列出自己寫的 Function,怎麼查看 Function 的詳細內容?
下述 declare 都可以用 typeset 取代(方便記憶用 declare = typeset)
列出所有 Function
- $ declare -F
列出此 Function 的詳細內容(下述用 timestamp_to_date 來做範例,二選一即可)
- $ declare -f timestamp_to_date
timestamp_to_date () { date +"%Y-%m-%d %H:%M:%S" --date="@$1" }
- $ type timestamp_to_date
timestamp_to_date 是一個函數 timestamp_to_date () { date +"%Y-%m-%d %H:%M:%S" --date="@$1" }
列出自己寫的所有 Function (下述都可以達成需求)
- declare -F | grep -v "\-f _"
- set | grep " ()" | grep -v "^_"
- 或者自己寫一個 list_function()
function list_function() { declare -F | grep -v "\-f _" }