我正在编写一个 bash 脚本来在不同环境中重新启动多个 apache 实例。它工作正常,除了我想添加一些逻辑以确保只输入正确的参数。我已经以多种方式尝试了以下声明,但我没有任何运气。有什么建议么?
if [[ $ENVT != qa || $ENVT != qa2 || $ENVT != stageqa || $ENVT != stage ]];
then
usage
fi
Run Code Online (Sandbox Code Playgroud)
当我使用舞台环境时,它正在评估第一个选项并调用该函数,而不是像打开时那样进行迭代set -x。
+ ENVT=stage
+ ACTION=stop
+ USER=www
+ '[' 2 -ne 2 ']'
+ [[ stage != qa ]]
+ usage
Run Code Online (Sandbox Code Playgroud)
在这种情况下,您不应使用多个if条件,case而是使用:
case "$ENVT" in
(qa|qa2|stageqa|stage) ;;
(*) usage ;;
esac
Run Code Online (Sandbox Code Playgroud)