shell脚本中的多参数

shell脚本中的多参数,shell,Shell,所以,我有一个简单的脚本,它的唯一目的是帮助我在为使用blih的人设置acl时减少输入 #!/bin/sh if [ "$1" "$2" ]; then ~/.blih.py -u X.X@X.eu repository setacl "$1" "$2" rw fi 我将其命名为setacl.sh,并将其设置为我的.bash\u别名中的别名 然而,当我使用它时,我得到以下信息 setacl Java_epicture_2017 X /root/.bash_scripts/setacl.

所以,我有一个简单的脚本,它的唯一目的是帮助我在为使用blih的人设置acl时减少输入

#!/bin/sh

if [ "$1" "$2" ]; then
   ~/.blih.py -u X.X@X.eu repository setacl "$1" "$2" rw
fi
我将其命名为setacl.sh,并将其设置为我的.bash\u别名中的别名

然而,当我使用它时,我得到以下信息

setacl Java_epicture_2017 X
/root/.bash_scripts/setacl.sh: 3: [: Java_epicture_2017: unexpected operator

我做错了什么?

如果您试图验证两个参数都已设置,请编写:

if [ -n "$1" ] && [ -n "$2" ]
或者更简单地说,检查传递的参数数:

if [ "$#" -eq 2 ]

如果要验证两个参数是否都已设置,请编写:

if [ -n "$1" ] && [ -n "$2" ]
或者更简单地说,检查传递的参数数:

if [ "$#" -eq 2 ]