したがって、Bashではうまく機能します。
(cd /some/dir; ./runscript.sh)
/some/dir/runscript.sh が存在すると仮定します。
しかし、
sudo (cd /some/dir; ./runscript.sh)
エラーが原因で失敗します。
-bash: syntax error near unexpected token `cd'
なぜ?
ベストアンサー1
サブシェルで角かっこで囲まれたコマンドを実行するには、解釈されるようにコマンドbash
として提供する必要があります。()
bash
sudo bash -c '(cd /some/dir; ./runscript.sh)'