Zsh
有沒有一種簡單的方法來獲取不以連字元開頭的所有參數的數組?
Zsh 包含一個用於解析命令行選項的強大實用程序,
zparseopts
.有沒有一種簡單的方法來提取所有不以連字元開頭的命令行參數的數組?
$@
使用參數擴展後綴 過濾位置參數以:#-*
去除與模式匹配的元素-*
和雙引號內的參數擴展標誌@
以保留空元素。添加M
標誌以僅保留與模式匹配的元素。non_hyphen_arguments=("${(@)@:#-*}") hyphen_arguments=("${(@M)@:#-*}")
然而,這不是解析命令行參數的好方法;例如,給定
myscript hello -a world
你會得到
hello
andworld
innon_hyphen_arguments
和-a
inhyphen_arguments
。具有單字母選項的參數解析的更簡單形式是
getopts
.