Linux相当于DOS的“开始”命令?

我正在写一个ksh脚本,我必须在一个单独的命令提示符窗口中运行一个可执行文件。

我相信你的意思是像xterm -e your.sh &

不要忘了最后的&

xdg-open是一个类似于linux的命令行应用程序。

有关其使用的详细信息,请参阅https://superuser.com/questions/38984/linux-equivalent-command-for-open-command-on-mac-windows

也许这不是一个单独的窗口,但是你可以在后台运行一些可执行文件,使用“&”

例如

 ./myexecutable & 

意味着你的脚本不会等到myexecutable完成,而是立即继续。 也许这是你在找什么。 问候

对于MS Windows命令行启动命令,xdg-open是一个很好的等价物:xdg-open文件用它的默认应用程序xdg-open打开该文件或URL。 打开默认文件管理器中的currect文件夹

最有用的终端会话程序之一是屏幕。

 screen -dmS title executable 

您可以通过运行列出所有的屏幕会话

 screen -ls 

你可以通过运行连接到你创建的屏幕会话(也允许多个同步/同步会话)

 screen -x title 

这将在executable正在运行的当前窗口中打开模拟终端。 您可以通过按Ca Cd来分离屏幕会话,并可以根据需要重新附加。

如果你真的希望你的程序在新的终端窗口中启动,你可以这样做:xterm yourtextmodeprogram或gnome-terminal -e yourtextmodeprogram or konsole -e mc

麻烦的是,你不能指望一个特定的终端模拟器被安装,所以(再次:如果你真的想这样做),你需要寻找常见的,然后执行遇到的第一个。

正如约阿希姆所说:正常的做法是后台命令(如果你想深入了解,可以阅读关于shell作业控制的地方)。

还有一些情况是你想要启动一个持久的shell,也就是当你关闭终端窗口的时候一个shell会话。 有两种方法可以做到这一点:

  • 面向批处理:nohup命令运行&
  • 互动:屏幕

如果你想要一个新的窗口,只需启动一个新的终端应用程序实例:在KDE中

 konsole -e whatever 

我确定Gnome终端有类似的选择

有些人建议使用&在后台启动它,但要注意,它仍然会将所启动的应用程序的所有控制台输出发送到您启动的终端。 此外,如果关闭初始终端,则您加载的程序将结束。

如果您使用的是像KDE或GNOME这样的桌面环境,我会检查alt + f2启动应用程序(gnome-open是GNOME的应用程序,我不知道KDE应用程序的名称),看看是否可以把他们的命令传给作为参数发起。

另外,如果你打算启动一个守护进程,你应该检查nohup文档。