如何在一个命令内自动启动多个命令?

如何在一个命令内自动启动多个命令?

我想要自动启动一个包含多个命令的程序。

以下是我的 3 个独立命令:

sleep 3s
cd /home/user/programdir/lpfw/
gksudo ./lpfwpygui

我的命令是sleep 3s;cd /home/user/programdir/lpfw/;gksudo ./lpfwpygui

如果从终端手动运行,它可以正常工作,但我无法让它从自动启动条目中工作。

有任何想法吗?

答案1

尝试使用您的命令创建一个脚本并从自动启动条目运行该脚本:

#!/bin/sh

sleep 3s
cd /home/user/programdir/lpfw
gksudo ./lpfwpygui

您还应该尝试睡眠更长时间,3 秒可能不足以让桌面环境完成加载,并且由于您使用 gksudo,这可能会导致问题。

答案2

在自动启动中,如果 shell 执行多个命令,则可以按顺序运行它们:

Exec=bash -c "cmd1 ; cmd2 ; cmd3"

或者就你的情况而言:

Exec=bash -c "sleep 3s;cd /home/user/programdir/lpfw/;gksudo ./lpfwpygui"

这可能也适用于 bash 以外的其他 shell,但使用其他语法。

相关内容