linux - 只有启动脚本的第一行有效
问题描述
在 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
上面的示例运行第一行而不等待它退出,然后在脚本退出之前等待第二行完成。
推荐阅读
- java - Jodatime 时差给出否定结果
- scala - 具有多个参数的类型类。如何召唤一个只有一个参数的实例?
- python - 使用 PIL 删除 exif 时文件大小增加而不是减少?
- javascript - 在 React 中向子组件传播事件
- r - R客户状态连接字符串
- r - 向 Shiny DT 添加按钮以拉起模态
- flask - 运行 Flask Web 服务器时如何解决 SyntaxError?
- python - 添加两个已经在同一个列表中的字典
- python - 我应该在这个函数中写什么来计算输入的值?
- ruby-on-rails - 在 windows10/ubuntu 上启动 ruby/rails 应用程序时出现端口问题