は私のbashスクリプトの全文です:なぜ私のBashスクリプト(OSX)はターミナルから実行されていますが、ダブルクリックされたのはなぜですか?ここで
GitC.sh
#!/bin/bash
git add .
git status
echo “Are you sure you want to commit and push? y/n”
read yn
if [ “$yn”==“y” ];
then
echo “Message:“
read m
git commit -m “$m”
git push
sleep 5s
else
git reset
sleep 5s
fi
私は、ファイルにchmod u+x
を実行し、デフォルトの実行アプリケーション用の端子を選択し、私はそれをダブルクリックしたときにしています
justins-mbp:〜Schwaitz $ /Users/Swwaitz/Desktop/JustWas/GitC.sh;出口;
となり、プロセスは続行されません。ターミナルから./GitC.shコマンドを実行すると、完全に動作します。
思考?
あなたは '.commandは必要ありません:あなたは、したがって、それはスクリプトと同じディレクトリに変更を確認する必要があり
:あなたはこのようなスクリプトを呼び出した場合にも問題を引き起こします'接尾辞はファインダーでbashスクリプトを実行する? –
おそらくカットアンドペーストの問題ですが、あなたの中かっこの見方は疑わしくなり、if文では "=="の前後に空白がありません(BTWでは、 "=="よりPOSIXに準拠する方が良いでしょう)。 –