如何在 bash 脚本中评估此正确性?

How to evalute this correct in bash script?

在我的 Synology 上,我尝试在脚本中执行检查。 脚本以 root 身份执行。对于下面的权限检查,我必须使用 sudo。

我在 shell 脚本中调用以下代码:

CMD="sudo -u USERNAME synoacltool -check '/SOMEPATH/' rwxpdDaARWcCo"
CHK=$($CMD)
echo "Result: $CHK"

但是脚本的输出显示了 synoacltool 的 --help: 结果:用法:synoacltool

SYNOPSIS ...blablabla...

运行 直接在 bash 提示符下的相同命令如预期的那样:

Permission [rwxpdDaARWcCo]: [Deny]

我进行了一些搜索,但没有找到我的解决方案。 有人可以帮忙吗?

您不应该在 vars 中放置带有特殊符号(如 ' 或 ")的命令。那是行不通的。试试这个。

CHK=$(sudo -u USERNAME synoacltool -check "/SOMEPATH/" rwxpdDaARWcCo)
echo "Result: $CHK"