😪

[Mac] launchctl で起動した shell script が外部ストレージにアクセスできない

2022/08/19に公開

mac で自作した shell scriptlaunchctl で起動したら、なぜか出力できなかった。

そんなことありませんか。あったんです。

通常の drive は問題ないんですが、外部ストレージなどに shell script から出力するような場合。例えば、curl でダウンロードしてきたファイルを外部ストレージに保管しようとすると

curl: (23) Failure writing output to destination

こんな感じになります。ぇぇっと思ったら、いつの間にか強固になっていた Security 機能で阻まれていました

shell本体に Security & Privacy の Full Disk Access を付与しよう

まぁちょっと考えたらわかるんですが、要するに Full Disk Access(そこまでいらないんだけど) の権限がなかったからです。ほんとは Files and Folders くらいでいいんだけど。

では、該当の shell scriptFull Disk Access へ入れればいいかというと「入れられない」。

答えは「shell scriptを実行する shell プログラムを登録する」でした。

bash で起動されるようなスクリプトなら /bin/bash が該当します。

要するに、そういうこと。

"bash" request to allow Full Disk Access … - Apple Community

Discussion