我需要一些有关 shell 脚本的帮助。
下面的代码可以工作,如果找到 sed,它将继续执行脚本,但如果不存在,它就会退出。
if ! [ -x "$(command -v sed)" ]; then
echo "Error: sed is not installed, please install sed." >&2
exit
fi
如果系统找到 ufw,我必须进行哪些更改才能运行这些命令。
if ! [ -x "$(command -v ufw)" ]; then
ufw allow 80/tcp
ufw allow 443/tcp
fi
答案1
只需删除表示“不”的感叹号即可。所以现在我们不再检查命令是否“不”在那里,而是检查它是否存在。
if [ -x "$(command -v ufw)" ]; then
ufw allow 80/tcp
ufw allow 443/tcp
fi
另一种选择是,如果您想先捕获它,然后在条件不满足时退出。
if ! [ -x "$(command -v ufw)" ]; then
echo "Your error message here"
exit # Stop execution
fi
# below code only runs if command exists
ufw allow 80/tcp
ufw allow 443/tcp