linux bash终端功能无法在命令中关闭

时间:2019-05-15 10:21:52

标签: linux bash gnome-terminal

#webstorm terminal window
alias webstorm='webstorm . &'
#function for opening and running AdminApp
ws(){ gnome-terminal -e webstorm && nohup && exit;};
aa(){ cd Desktop/code/AdminApp; ws; nodemon --exec npm start;};

我的想法是webstorm,我要完成的工作是有一个命令cd来纠正文件夹以打开ide,然后在本地运行服务器。由于某种原因,我无法关闭ide的终端,如果我手动将其关闭,则它将关闭ide。 我也没有在一个终端上完成所有操作。

1 个答案:

答案 0 :(得分:0)

您使用nohup gnome-terminal -e的方式错误。

使用gnome-terminal -e webstorm && nohup && exit,您将在当前shell中执行三个命令:

  1. gnome-terminal -e webstorm
  2. nohup
  3. exit

nuhop仅在第一个命令成功退出时运行,但是只有运行webstorm时才会发生。 如果webstorm退出,则nohup开始,但是现在对您无济于事,尤其是因为nohup期望将命令作为参数,并且由于您未提供命令而将失败。

您先前定义的别名webstorm='webstorm . &'gnome-terminal -e无效,因为-e接受 string 参数并在另一个shell中执行该字符串。您必须写出命令。

您可能想使用

ws() { nohup webstorm . & }