首页 > 解决方案 > 只有启动脚本的第一行有效

问题描述

在 Fedora 27 mate 上,我试图在计算机登录时执行两行以创建两个 VNC 服务器。但它只执行第一行。如果我将脚本分成两个文件,它可以工作。有没有办法在一个脚本中使用它?

我试图寻找答案,但找不到答案,如果这是对已经回答的问题的重新发布,我深表歉意。

该脚本由 chmod +x 可执行,我正在使用 mate-session-properties 使其可启动。该文件作为 startup.sh 在桌面上。

!# /bin/bash
x0vncserver -rfauth ~/.vnc/passwd 
vncserver :1 geometry 1024x768 -depth 24

标签: linuxstartupscript

解决方案


该脚本只运行第一行,因为默认行为是等到程序退出然后移动到下一行。要在不等待第一行完成的情况下继续下一行,您需要在第一行的末尾添加一个 & 符号,例如

!# /bin/bash
x0vncserver -rfauth ~/.vnc/passwd &    
vncserver :1 geometry 1024x768 -depth 24

上面的示例运行第一行而不等待它退出,然后在脚本退出之前等待第二行完成。


推荐阅读