shell脚本中的多参数

时间:2018-02-08 14:04:42

标签: 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_aliases

中的别名
alias setacl='~/.bash_scripts/setacl.sh'

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

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

我做错了什么?

1 个答案:

答案 0 :(得分:3)

如果您正在尝试验证两个参数都已设置,请写:

if [ -n "$1" ] && [ -n "$2" ]

或者更简单地说,检查传递的参数数量:

if [ "$#" -eq 2 ]