我想運行一個簡單的使用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
據此,每個輸出文件將被寫入/保存在指定用戶的主目錄中。如果我想要將輸出寫入特定的輸出,該怎麼辦? –