【发布时间】:2015-05-20 20:52:42
【问题描述】:
我知道我可以使用 sls 从 salt 运行命令,但我需要通过 bash 脚本运行某些命令。我需要将命令的结果存储到一个变量中。
在盐服务器的外壳上运行以下命令时,它可以工作,我得到一个结果
salt -t70 'server' cmd.run "cat /etc/shadow | grep user |cut -d: -f3"
但是当我将命令迁移到 salt 服务器中 bash 文件中的变量时,它不会。
BASH.SH
test = $(echo salt -t70 $server cmd.run "cat /etc/shadow | grep $user |cut -d\":\" -f3");
echo $test;
错误信息
[root@saltserver ~]# sh bash.sh
bash.sh: line 13: test: too many arguments
我错过了什么?我需要修复什么才能使其正常工作? 谢谢
【问题讨论】:
-
你能显示你的 bash 脚本的全部内容吗?第 13 行是什么?
-
@mattias,不需要额外的上下文;这里有足够的东西来诊断这个问题。
-
顺便说一句——shellcheck.net 会自动为你找到这个错误。
标签: linux bash shell salt-stack