如何组合两个命令作为启动器?

Fra*_*kel 9 command-line

我想结合这两个命令:

rvm use 1.9.2
Run Code Online (Sandbox Code Playgroud)

redcar
Run Code Online (Sandbox Code Playgroud)

并将它们组合起来作为一个独立的程序运行。但是当我用输入的这两个命令创建一个启动器时,用分号分隔,它就不起作用。

如何实现这个功能?

Mik*_*ind 14

sh -c "command 1 ; command 2"
Run Code Online (Sandbox Code Playgroud)

直接作为启动器为我完成了这项工作:只需创建一个文件并将其保存为 program.desktop,然后允许作为程序执行(右键单击 -> 属性 -> 权限 -> 允许作为程序执行)

[Desktop Entry]
Version=1.0
Name=ProgramName
Comment=This is my comment
Exec=sh -c "command 1 ; command 2"
Icon=/home/alex/Pictures/icon.png
Terminal=false
Type=Application
Categories=Utility;Application;
Run Code Online (Sandbox Code Playgroud)


Tho*_*mas 2

rvm use 1.9.2 && redcar
Run Code Online (Sandbox Code Playgroud)

或者

rvm use 1.9.2 || redcar
Run Code Online (Sandbox Code Playgroud)

如果 rvm-command 失败,则会在第二个示例中执行 redcar,而不是在第一个示例中执行。


Ser*_*gey 2

我不确定 Gnome 启动器是否支持这一点,但在 bash 脚本中,命令如下

program1; program2
Run Code Online (Sandbox Code Playgroud)

意思是 - 启动程序 1,然后仅在第一个程序终止后才启动程序 2。

经过一些测试后,我认为最可靠的方法是创建一个简单的脚本:

#!/bin/sh
rvm use 1.9.2 &
redcar &
Run Code Online (Sandbox Code Playgroud)

设置其可执行位,然后创建一个启动此脚本的启动器,即 /home/yourusername/start_redcar.sh

作为奖励 - 如果您在主文件夹中创建一个名为“bin”的目录,将脚本放在那里并将其命名为“start_redcar”,您将能够从终端或从打开的“运行命令”窗口启动它按 Alt-F2 时 - 只需键入命令名称