😪
[Mac] launchctl で起動した shell script が外部ストレージにアクセスできない
mac で自作した shell script
を launchctl
で起動したら、なぜか出力できなかった。
そんなことありませんか。あったんです。
通常の drive は問題ないんですが、外部ストレージなどに shell script
から出力するような場合。例えば、curl
でダウンロードしてきたファイルを外部ストレージに保管しようとすると
curl: (23) Failure writing output to destination
こんな感じになります。ぇぇっと思ったら、いつの間にか強固になっていた Security 機能で阻まれていました
Full Disk Access
を付与しよう
shell本体に Security & Privacy の まぁちょっと考えたらわかるんですが、要するに Full Disk Access
(そこまでいらないんだけど) の権限がなかったからです。ほんとは Files and Folders
くらいでいいんだけど。
では、該当の shell script
をFull Disk Access
へ入れればいいかというと「入れられない」。
答えは「shell script
を実行する shell
プログラムを登録する」でした。
bash
で起動されるようなスクリプトなら /bin/bash
が該当します。
要するに、そういうこと。
"bash" request to allow Full Disk Access … - Apple Community
Discussion