首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Bash - write to visudo

Bash - write to visudo
EN

Stack Overflow用户
提问于 2019-09-24 15:06:03
回答 1查看 99关注 0票数 0

我想写一些东西给visduo,但是我不能写/etc/sudoers

代码语言:javascript
复制
for SERVER in $(cat some.txt); do

ssh -q -o StrictHostKeyChecking=no root@$SERVER '

echo 'm2madm ALL=(ALL:ALL)   NOPASSWD:/sbin/iptables -L' | sudo EDITOR='tee -a' visudo

'

问题出在“

但是我真的不知道我该怎么办,你能帮我吗?

输出为:

代码语言:javascript
复制
domain_check.sh: line 25: syntax error near unexpected token `('
domain_check.sh: line 25: `echo ('m2madm ALL=(ALL:ALL)   NOPASSWD:/sbin/iptables -L' | sudo EDITOR='tee -a' visudo)'
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2019-09-24 15:15:11

如果您希望在通过ssh发送的字符串中使用变量,请使用"将该字符串括起来。在字符串中,您应该使用单引号',或者对每个双引号\"进行转义。

您的问题发生是因为您在想要关闭字符串之前“关闭”了该字符串。下面的方法应该是可行的。

代码语言:javascript
复制
for SERVER in $(cat some.txt); do
ssh -q -o StrictHostKeyChecking=no root@$SERVER "
echo 'm2madm ALL=(ALL:ALL)   NOPASSWD:/sbin/iptables -L' | sudo EDITOR='tee -a' visudo
"
done

附注:有一个shell拼写检查站点,您可以在其中测试您的代码。我不知道是哪一个,但我会在我的答案下面添加一个评论。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/58074793

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档