[英]Why is my Bash script (OSX) running from the Terminal, but not when double clicked?
这是我的 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:~ Schwaitz$ /Users/Schwaitz/Desktop/JustWas/GitC.sh ; 出口;
并且这个过程不会继续。 当我使用命令 ./GitC.sh 从终端运行它时,它运行得很好。
想法?
该脚本假设当前工作目录与脚本相同,我很确定通过在Finder 中双击激活时情况并非如此。 如果您像这样调用脚本,它也会导致问题:
/path/to/script.sh
因此,您需要确保它更改为与脚本相同的目录:
dir="$(dirname "$0")"
cd "$dir"
... etc.
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.