Using sudo with for loop
问题 I want to run a simple for loop command with sudo, but it isn't working: sudo -i -u user for i in /dir; do echo $i; done I get the following error: -bash: syntax error near unexpected token `do' Probably a very simple thing I am overlooking. Any help? 回答1: sudo wants a program (+arguments) as a parameter, not a piece of shell script. You can do this, though: sudo -i -u user sh -c 'for i in /dir; do echo $i; done' Note the single quotes. If you used double quotes, your shell would try to