GitHub の README.md にコマンドを書いておいて
移行時に実行するだけにしたかったので
MacにHomeBrewとzshを導入してみた | DevAchieveの工程を
以下のように変更してみました。
echo '/usr/local/bin/zsh' >> /etc/shells
以下のように見事に拒否されます。
zsh: permission denied: /etc/shells
以下のように sudo を付けても同様に拒否されます。
sudo echo '/usr/local/bin/zsh' >> /etc/shells
shのオプションに-cを付ける
sudoでリダイレクトをしたいとき - Yuta.Kikuchiの日記というわけで以下のように記述すると成功しました。
回避策1 : shのオプションに-cを付ける
man sudoを見てみます。そうすると以下のように実行せよという記述がありました。-cとして実行したいコマンドを""でくくるみたいです。
To make a usage listing of the directories in the /home partition.
Note that this runs the commands in a sub-shell to make the cd and file
redirection work.
$ sudo sh -c "cd /home ; du -s * | sort -rn > USAGE"
sudo sh -c "echo '/usr/local/bin/zsh' >> /etc/shells" chsh -s /usr/local/bin/zsh活用事例:wada811/dotfiles#change-default-shell-to-zsh