我想运行一个简单的使用sudo命令循环,但它不工作:使用sudo与循环
sudo -i -u user for i in /dir; do echo $i; done
我得到以下错误:
-bash: syntax error near unexpected token `do'
可能是一个非常简单的事情,我俯瞰。任何帮助?
我想运行一个简单的使用sudo命令循环,但它不工作:使用sudo与循环
sudo -i -u user for i in /dir; do echo $i; done
我得到以下错误:
-bash: syntax error near unexpected token `do'
可能是一个非常简单的事情,我俯瞰。任何帮助?
sudo想要一个程序(+参数)作为参数,而不是一段shell脚本。但您可以这样做:
sudo -i -u user sh -c 'for i in /dir; do echo $i; done'
请注意单引号。如果你使用双引号,你的shell会在sudo(或者说它运行的shell)看到它之前尝试扩展$i
。
您可以尝试sudo的庆典-c'命令,这里的
把须藤内循环:
for i in /dir; do
sudo -u user somecommand $i
done
如果需要其他用户的权限来产生这不会没有额外的步骤工作例如,循环的glob。
这个问题是,如果sudo超时不够大,它会一直要求输入密码:( –
你明白了!祝你们好运。 – shellter
这样做,谢谢! – Axl
据此,每个输出文件将被写入/保存在指定用户的主目录中。如果我想要将输出写入特定的输出,该怎么办? –