gpt4 book ai didi

linux - 开关不工作

转载 作者:塔克拉玛干 更新时间:2023-11-03 01:47:41 26 4
gpt4 key购买 nike

在我的脚本中有以下内容:

DEBUG="false"
while getopts ":d:" opt; do
case $opt in
d)
$BIN_ECHO -e "DEBUG MODE ENABLED WITH $OPTARG" >&2
DEBUG="YES"
;;
\?)
$BIN_ECHO -e "Invalid option: -$OPTARG" >&2
exit 1
;;
:)
$BIN_ECHO -e "Option -$OPTARG requires an argument." >&2
exit 1
;;
esac
done

但是,每次我运行它时,DEBUG=false 似乎都没有得到优先考虑。

我有这个例子:

if [ $DEBUG=="YES" ]; then
$BIN_ECHO -e "SETTING LOCATION TO /USR/SRC"
fi
cd /usr/src

即使我不在脚本上使用 -d,它仍然会像在 Debug模式下一样运行。知道为什么吗?

最佳答案

这个 if [ $DEBUG=="YES"];那么 是不正确的。 == 两边需要空格。

像这样 if [ $DEBUG == "YES"];然后

你把所有东西混在一起的方式意味着 [ 只看到 一个 参数和 [/test< 的一个参数 被解释为 [ -n word ] 正在测试非空字符串(==YES$ 的值无关DEBUG 是。

综上所述,您没有在任何地方使用 -d 的参数,您可能应该选择 false/true 之一或 yes/no 作为您的配对。

关于linux - 开关不工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26549558/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com