如果我在这里使用错误的语言,如果我问一个明显的问题,你必须原谅我,但这毕竟是我在这里的原因。
我刚刚开始掌握 shell 脚本,并编写了一个“作为自定义命令而不是我的 shell 运行”的小脚本,以使我可能想做的事情更容易一些。这就是我所拥有的。
#
# Custom console startup script.
#
path_to_scripts=~/Scripts
echo "Hello $USERNAME, what would you like to do?"
echo "Options:"
echo "-l Continue in local machine"
echo "-s Connect to server"
read response
case $response in
"l") echo "Contunie within local machine.";;
"s") $path_to_scripts/connect_to_server;;
*) echo "Invalid command. Exiting.";;
esac
所以我的终端使用这个脚本启动,如果我选择's',它会很好地运行'connect_to_server'脚本并连接,然后我就进去了!
但是,当我输入无效命令或键入“l”退出并正常继续时,控制台会显示“子进程以状态 0 正常退出”。
我知道它刚刚退出并且脚本已经退出但是我想要做的只是运行默认的shell,这样我就可以在我的本地机器上~,就好像id刚刚使用默认设置启动了控制台一样。 为了做到这一点,我需要运行什么?
最佳答案
运行exec "$SHELL"
用您的普通 shell 替换当前进程。
关于shell - 退出自定义启动shell脚本后,退出到默认启动shell?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6370374/