这是我的bash脚本的全文:
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:~Schwaiz$/Users/Schwaiz/Desktop/JustWas/GitC.sh;出口
并且该过程将不会继续。当我用命令从终端运行它时/GitC.sh,它运行得很完美。
想法?
脚本假设当前工作目录与脚本相同,我敢肯定,当通过双击Finder激活时,情况并非如此。如果您调用这样的脚本,也会导致问题:
/path/to/script.sh
因此,您需要确保它更改为与脚本相同的目录:
dir="$(dirname "$0")"
cd "$dir"
... etc.