我有一段代码可以在终端中打开一个 bash 文件以输入 sudo 密码:
test "$IN_TERM" || {
export IN_TERM=1
konsole -e "$0"
exit 0
} && true
我需要将其转换为带标签的格式if fi
。我尝试了这个选项,但随后会打开无数个终端:
if [[ -n $IN_TERM ]]; then
export IN_TERM=1
else
konsole -e "$0"
exit 0
fi
谢谢。
答案1
我认为转换代码最直接的方法是:
if ! test "$IN_TERM"; then
export IN_TERM=1
konsole -e "$0"
exit 0
fi
然后您可以将其重写为
if ! [[ "$IN_TERM" ]]; then
export IN_TERM=1
konsole -e "$0"
exit 0
fi
或者
if [[ ! "$IN_TERM" ]]; then
export IN_TERM=1
konsole -e "$0"
exit 0
fi
或者
if [[ -z "$IN_TERM" ]]; then
export IN_TERM=1
konsole -e "$0"
exit 0
fi