メールの添付ファイルとして受け取ったシェルスクリプト(.sh)ファイルが実行できない事態が生じたので、解決したときのメモ。
今回は調子に乗ってサマリーも書いておく。
Generally, You can’t execute .sh you received by E-mail for security reason on Mac(Mavericks).
To solve this issue, You should change permission for the .sh by “chmod” command by Terminal.
NOTICE:
You must not execute .sh file which you don’t know.
Solve like:
#You have to change directory where the target file exists. chmod +x target.sh
症状
メールに添付されてきたシェルスクリプトのファイルが”Permission denied”となり、実行できない。
原因
ファイルに実行権限が付いていないことが原因。
ファイルを右クリック→「情報を見る」→「共有とアクセス権」を変更しても、実行権限は与えられないので注意。
解決方法
chmodコマンドでファイルに実行権限を与える
ターミナルで、ファイルのあるディレクトリに移動する。
ファイルがデスクトップにある場合は
cd ./Desktop/
chmodコマンドでシェルスクリプトに実行権限を与える。
例(target.shが実行権限を与えたいシェルスクリプトファイルとする場合):
chmod +x target.sh
シェルスクリプトファイルをダブルクリックして実行したい場合
シェルスクリプトの書かれたファイルをダブルクリックしてターミナルで実行したい場合は、
1.ファイルを右クリック
2.「このアプリケーションで開く」を選択
3.「その他…」を選択
4.「選択対象」を”推奨アプリケーション”から”すべてのアプリケーション”に変更
5.「常にこのアプリケーションで開く」をチェック
6.ユーティリティフォルダの中にある”ターミナル.app”を選択
7.「開く」をクリック
以上でダブルクリックでシェルスクリプトファイルをターミナルで実行する設定は完了ですが、
”〜〜.sh”は、開発元が未確認のため開けません。
というメッセージが出てまだ実行できません。
いったんこのダイアログを閉じます。
改めてシェルスクリプトファイルを右クリックし、「開く」を選択すると、
”〜〜.sh”の開発元は未確認です。開いていもよろしいですか?
というダイアログが出てくるので、「開く」を選択します。
以上で、次回以降、ダブルクリックでシェルスクリプトファイルをターミナルから実行することができます。
※くれぐれも、どこの誰から送られてきたものか分からないファイルを開くことがないように。。。
分かりやすかったです!感謝!