shell - 退出自定义启动shell脚本后,退出到默认启动shell?

标签 shell unix command-line ubuntu

如果我在这里使用错误的语言,如果我问一个明显的问题,你必须原谅我,但这毕竟是我在这里的原因。

我刚刚开始掌握 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/

相关文章:

python - 从 Windows 命令行运行 Python 脚本,未传递参数

shell - Cygwin shell 不执行 .bashrc

unix - grep for unix 中带分号的行

Linux,检查当前没有正在运行的 cron 作业的代码?

java - 使用 jstack 获取线程转储

linux - cp 命令在不存在的文件上发生冲突

linux - 如何在 Linux 命令行上只写入可读文件?显示不可读文件没有权限错误

shell - 在术语哑绘图模式下在 gnuplot 生成的图形中注入(inject)颜色

git - 签署 git 提交时记住 GPG 密码

Python 与父 shell 环境一起工作