我对Bash中括号,括号,花括号的用法以及它们的双重或单一形式之间的区别感到困惑.有明确的解释吗?
我找不到任何一个简单直接的资源,用于解释以下BASH shell错误的含义和修复,所以我发布了我在研究之后发现的内容.
错误:
-bash: [: too many arguments
Run Code Online (Sandbox Code Playgroud)
Google友好版: bash open square bracket colon too many arguments.
上下文:单个方括号中的if条件,带有一个简单的比较运算符,如equals,大于等,例如:
VARIABLE=$(/some/command);
if [ $VARIABLE == 0 ]; then
# some action
fi
Run Code Online (Sandbox Code Playgroud) 我正在尝试编写一个将检查两个错误标志的脚本,并且如果一个标志(或两者)被更改,它将回显 - 发生错误.我的剧本:
my_error_flag=0
my_error_flag_o=0
do something.....
if [[ "$my_error_flag"=="1" || "$my_error_flag_o"=="2" ] || [ "$my_error_flag"="1" && "$my_error_flag_o"="2" ]]; then
echo "$my_error_flag"
else
echo "no flag"
fi
Run Code Online (Sandbox Code Playgroud)
基本上,它应该是,以下内容:
if ((a=1 or b=2) or (a=1 and b=2))
then
display error
else
no error
fi
Run Code Online (Sandbox Code Playgroud)
我得到的错误是:
line 26: conditional binary operator expected
line 26: syntax error near `]'
line 26: `if [[ "$my_error_flag"=="1" || "$my_error_flag_o"=="2" ] || [ "$my_error_flag"="1" && "$my_error_flag_o"="2" ]]; then'
Run Code Online (Sandbox Code Playgroud)
我的括号搞砸了吗?
我希望在Bash if语句中包含一些条件组.具体来说,我正在寻找以下内容:
if <myCondition1 and myCondition2> or <myCondition3 and myCondition4> then...
Run Code Online (Sandbox Code Playgroud)
我如何按照我在Bash中使用if语句描述的方式将条件组合在一起?我感谢你对此有任何想法.
我想重新创建这样的东西
if ( arg1 || arg2 || arg 3) {}
Run Code Online (Sandbox Code Playgroud)
我到目前为止,但我收到以下错误
line 11: [.: command not found
if [ $char == $';' -o $char == $'\\' -o $char == $'\'' ]
then ...
Run Code Online (Sandbox Code Playgroud)
我尝试了不同的方法,但似乎没有人尝试过我试过的一些方法
我想知道在if编写shell脚本时是否可以在语句中包含两个以上的语句?
username1="BOSS1"
username2="BOSS2"
password1="1234"
password2="4321"
if(($username == $username1)) && (($password == password1)) ||
(($username == $username2)) && (($password == password2)) ; then
Run Code Online (Sandbox Code Playgroud)
这不起作用.但有没有办法让它发挥作用?
谢谢!