Zsh

有沒有一種簡單的方法來獲取不以連字元開頭的所有參數的數組?

  • September 20, 2019

Zsh 包含一個用於解析命令行選項的強大實用程序,zparseopts.

有沒有一種簡單的方法來提取所有不以連字元開頭的命令行參數的數組?

$@使用參數擴展後綴 過濾位置參數以:#-*去除與模式匹配的元素-*和雙引號內的參數擴展標誌 @以保留空元素。添加M標誌以僅保留與模式匹配的元素。

non_hyphen_arguments=("${(@)@:#-*}")
hyphen_arguments=("${(@M)@:#-*}")

然而,這不是解析命令行參數的好方法;例如,給定

myscript hello -a world

你會得到helloand worldinnon_hyphen_arguments-ain hyphen_arguments

具有單字母選項的參數解析的更簡單形式是getopts.

引用自:https://unix.stackexchange.com/questions/114240