这是我第一次尝试在ubuntu上编辑.sh文件
ng build @xyz--abc/my-${library}
我正在尝试传递标志--build-optimizer=false
,但是如果我将其添加到结尾,则会给出错误Unknown option: '--build-optimizer'
需要有关如何添加此标志的帮助。
谢谢
答案 0 :(得分:1)
通常,命令行参数选项解析是使用内置的bash getopts
或特定于平台的getopt
实现之一来实现的。尽管getopts
不支持解析长命令行选项,但GNU getopt
实现支持。 answer详细指出了相应实现之间的区别。有关如何使用内置的bash getopts
的示例,我将参考Advanced Bash Scripting Guide。
为了给您一个正确的答案,它取决于您尝试修改的脚本如何实现命令行选项解析。
答案 1 :(得分:0)
LS_OPTIONS=''
while [ $# -gt 0 ]; do
case "$1" in
--color=*)
colorarg="${1#*=}"
LS_OPTIONS="${LS_OPTIONS} ${1}"
;;
-a|--all)
allarg="${1}"
LS_OPTIONS="${LS_OPTIONS} ${1}"
;;
*)
printf "* Error: Invalid argument.*\n"
exit 1
esac
shift
done
printf "all val: %s\n\n" "$allarg"
printf "color val: %s\n\n" "$colorarg"
ls ${LS_OPTIONS}
解析参数并将其传递给基础的ls
。这就是您想要实现的目标吗?