Shell:リダイレクトを含むコマンドをsudoで実行する

Pocket

docker-composeをインストールするときのこのコマンドはリダイレクト( > )を含んでいる。


curl -L https://github.com/docker/compose/releases/download/1.8.0/docker-compose-`uname -s`-`uname -m` > /usr/local/bin/docker-compose

/usr/local/bin/ディレクトリに書き込むために、sudo でこのコマンドを実行すると権限エラーになる。

-bash: /usr/local/bin/docker-compose: Permission denied

リダイレクト先にsudoできていないからだ。

コマンド全体をsudoで実行するにはshコマンドの-cオプションを使用する。
コマンドはダブルクォーテーションで囲む。


sudo sh -c "curl -L https://github.com/docker/compose/releases/download/1.8.0/docker-compose-`uname -s`-`uname -m` > /usr/local/bin/docker-compose"

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です