Bash
Bash 函式 Grep Mod
TL:DR 如何在允許可變數量的可選輸入的同時將 grep 添加到 bash 函式?
我發現在反复搜尋大量輸出時,我最終會用數據堵塞終端。有時,我想做一個 grep,並在擷取所有數據的同時快速轉到它的頂部。為此,我已經習慣使用 “clear;clear; grep
$$ options $$ $$ string $$ $$ file $$; 頂”。懶惰,我想把它變成一個名為“cgrep”的函式,它執行兩個清除和grep。我試過的是:
cgrep () { clear clear grep "$1" "$2" "$3" }
這是可行的,前提是我始終只使用一個可選參數。雖然這在大多數情況下都不是問題,但我開始好奇如何在不引起問題的情況下為其提供 0-N 個可選參數(例如閱讀
$$ string $$作為$$ file $$)。 我讀過這篇文章,並嘗試了類似的實現。但是,這不太適合我的需要,如果我可以在 cgrep 和
$$ string $$使它看起來更像一個傳統的 grep。
在 bash 和 sh
"$@"
中將擴展所有位置參數,因此:cgrep () { clear clear grep "$@" }
請注意,
$@
必須使用雙引號來防止對每個參數執行分詞、萬用字元、空刪除等。