linux - 只有启动脚本的第一行有效

标签 linux startupscript

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

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

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

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

最佳答案

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

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

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

关于linux - 只有启动脚本的第一行有效,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55174544/

相关文章:

rest - 带有REST API调用的Powershell脚本无法在启动时运行

python - 如何为 Intellij/PyCharm 设置 PYTHONSTARTUP 脚本

c - 在 C 中将标准输入与 select() 结合使用

linux - 在本地桌面计算机上替换 someaddress.com

linux - 在线根据txt文件中的文件名查找并移动文件

linux - 由于 rc.local 启动脚本而无法启动

c - 使用 ptrace 读取字符串 (linux)

linux - 从运行中获取变量?

deployment - 由于启动脚本,Azure 部署失败

mongodb - 如何通过身份验证在 Upstart 服务中设置mongodb