osx中的这个bash脚本不会退出脚本。我已经更改了设置(如建议的here,以便在终端中写入退出关闭窗口,并且如果我在终端中写入,我已经检查写入退出是否会关闭终端窗口,这可能是什么原因造成的这个?我在更改设置后重新启动了终端和我的mac,看看是否解决了这个问题。但是在位置nr 1或脚本末尾退出是不行的。
#!/bin/bash
PATH=/opt/local/bin:/opt/local/sbin:$PATH
read -p "What do you want to do?"
if test "$pass" = "f"
then
sh ~/f.sh
exit # nr 1
fi
if test "$pass" = "s"
then
sh ~/s.sh
exit # nr 1
fi
exit # nr 2
答案 0 :(得分:1)
假设你的意思是:
$ exit
您的终端退出。
但是当你跑步时
$ ./script.sh
您的终端没有退出。
答案是您的脚本正在自己的shell进程中运行,因此当它退出时,它不会从终端中运行的shell退出。
如果您使用
$ . script.sh
然后您将在当前shell进程中运行该脚本,因此exit
将退出正在运行的shell并导致终端退出。