我写了一个名为启动文件它做了很多事情(基本上在打开本地机器后为我启动了很多事情) - 这是摘录:
#!/bin/bash
gnome-terminal --tab &
veracrypt --auto-mount favorites &
thunderbird &
~/Application/IDEA/bin/./idea.sh &
/usr/bin/slack &
echo myuser mypass | skypeforlinux --pipelogin &
sh bsync-project-folder.sh &
exit
打开控制台窗口并执行以下操作:
. startup.sh
shell 脚本被执行,然后窗口被关闭。
还在工作:
sh startup.sh
或者
./startup.sh
shell 脚本被执行并且终端窗口保持打开状态 - 但是它不会返回到控制台并且必须使用 停止脚本执行CTRL + C
(无论我是使用命令行解释器还是使用 执行./
)。
但是,我希望完全退出脚本,然后返回到同一控制台并显示成功消息。我缺少什么?
答案1
当您使用“<点> <空格> <脚本名称>”启动脚本并且脚本中包含“exit”时,您的窗口将关闭。点符号表示您在窗口中运行它,然后“退出”表示退出窗口,而不是退出脚本本身。
尝试将 >/dev/null 2>&1 添加到每一行(在最后的 & 之前)以找出哪些命令仍然保留 stdout,例如:
gnome-terminal --tab >/dev/null 2>&1 &
...
你可以但不需要在最后离开出口,但这在这里没有任何意义。运行脚本:./startup.sh