linux - 如何从 bash (Linux) 打开应用程序
问题描述
尽可能自动化您生活的一部分!(它似乎无法正常工作......)。这次是为了在我早上泡咖啡时在我的桌面上打开多个应用程序。
我创建了一个 .sh 来打开我的工作区应用程序,如 Visual Code、Slack、Firefox 等。
脚本基本上是:
exec code
exec /usr/local/firefox_dev/firefox
exec snap/slack/39/usr/bin/slack
exec /snap/spotify/current/usr/share/spotify/spotify
我基本上找到了可执行应用程序的路径并将 exec 放在它们前面......是的,我chmod +x ./workspace-apps-script.sh
让它可执行。
问题是:无论我先放哪一行,它都只执行第一行。我希望他们一个接一个地打开并打开到最后一个。
解决方案
问题是您的应用程序在启动时不会返回。 所以你必须让他们在后台或分离。
要在后台执行命令,您只需&
在脚本的命令行末尾添加即可。例如:
#!/bin/bash
code &
/usr/local/firefox_dev/firefox &
snap/slack/39/usr/bin/slack &
/snap/spotify/current/usr/share/spotify/spotify &
如果要以分离模式执行命令,可以nohup
在命令行开头使用。例如:
#!/bin/bash
nohup code
nohup /usr/local/firefox_dev/firefox
nohup snap/slack/39/usr/bin/slack
nohup /snap/spotify/current/usr/share/spotify/spotify
我建议您将两种模式结合起来以获得最佳效果。因此,您可以在脚本中执行此操作:
#!/bin/bash
nohup code &
nohup /usr/local/firefox_dev/firefox &
nohup snap/slack/39/usr/bin/slack &
nohup /snap/spotify/current/usr/share/spotify/spotify &
但是,如果您想在每次登录到您的电脑时执行此操作,您可以直接在您的.bashrc
文件中写入 abobe 行,该文件位于您的主目录中,并在每次登录时执行。
推荐阅读
- c# - 字典“键”和“值”属性名称没有被骆驼大小写序列化
- flutter - 只允许没有空格的小写输入文本字段颤振
- javascript - Django Ajax 405(不允许的方法)CBV
- postgresql - Postgres 日期与 ISO 时间戳比较
- json - 将 CSV 文件转换为 JSON 并将其发送到 ActiveMQ 队列
- react-admin - React-Admin:如何制作
使用“list”强制使用“alwaysOn” - sql - Teradata SQL 帮助。需要帮助获取最近就业状态的开始日期和结束日期(黄色)。谢谢
- tensorflow - 什么是 redzone_checker?在 GPU 上分析我的 tensorflow 应用程序
- javascript - Selenium Python - 获取表格数据而不是 JavaScript 代码
- java - 我无法让我的 java 程序打印结果