アプリの自動起動など、使いこなせるようになると、とても便利なAutomatorですが、管理者権限が必要なコマンド(sudo)をシェルスクプトで書くときにどうすればいいのかわからず試行錯誤しておりました。解決したので今回はその備忘録。
やり方
以前の記事で扱ったファンスピード制御ソフトの「Fan Control」の停止のシェルスクリプトをAutomatorでアプリ化した方法を例にしてみます。
1 Automatorを起動する。
2 シェルスクリプトを実行を選択する
3 後に紹介するコマンドを入力する
今回の場合は、Fancontrolをオンにしたいので、
osascript -e 'do shell script "sudo launchctl load /Library/LaunchDaemons/com.derman.FanControlDaemon.plist" with administrator privileges'
このようになります。
他のコマンドにも応用できる
他のコマンドに応用したい場合は、以下の方法で、、
osascript -e 'do shell script "sudo XXX" with administrator privileges'
上記のsudoの後のXXXを除いて、その部分に必要なコマンドを追加してあげればいい。
sudo入りのスクリプトを実行すると、以下のように管理者のパスワード要求のポップアップがちゃんと出てくるようになります。
パスを入力してOKをクリックで、スクリプトが実行されます。
これ、結構便利です。