はじめに
Macのfish shell上で、ゴミ箱を見たくてcd ~/.Trash/
すると、
cd: '/Users/xxx/.Trash/' is a rotten symlink
と叱られて
ディレクトリに遷移できないことがあります。
bashならcd
は成功してディレクトリへの遷移はできるものの、
.Trashに遷移してからls
叩くと、
Operation not permitted
とやはり叱られます。
解決方法
システム環境設定
→セキュリティとプライバシー
→プライバシー
→フルディスクアクセス
この中にターミナルアプリを追加してチェックを入れればOK。
標準アプリの「ターミナル」の他に、
「iTerm」「Visual Studio Code」など、
ターミナル使うアプリをそれぞれ許可してやる必要があります。
これ自体は割と色んな所に書かれている設定方法ですが、
前者の「rotten symlink」のエラーメッセージでググっても気の利いた解説がないので、
全国のfish使いのググラビリティ向上のために一本書いておきました。
参考サイト
-
macOS Mojave/Catalina の「Operation not permitted」を回避する(du/ls/mv/cp 実行時)
- とても詳しく書かれていて参考になります
-
Getting an error "cd: '/Users/x/Downloads/' is a rotten symlink" in Fish shell
- これ、fishのエラーメッセージまでは一緒なんだけど、解決方法のコメントに「ファイルとフォルダ」で許可せよと書いてあって、「フルディスクアクセス」には言及されてない。それじゃ解決しないんだよ〜。