while getopts abp: optchar; do
case "${optchar}" in
a) # an option
export OPTION_A=1
;;
b) # Yet another option
export b=1
;;
p) # An option to supply player names to the function
IFS=',' read -r -a PLAYER_NAMES <<<"${OPTARG}"
;;
esac
done
for name in "${PLAYER_NAMES[@]}"; do
echo ${name}
现在,如果为'players'关键字参数提供逗号分隔的列表,则该函数将忽略以空格分隔的参数。例如,如果您运行:
bash testexp.sh -p sherman,wilson, taylor
您会得到
sherman
wilson
但是由于没有将taylor的名字添加到数组变量中,因此不包括taylor。
如何使cli解析器忽略多余的空间,以便输出如下?
sherman
wilson
taylor
使用撇号: