您好,我正在运行 Ubuntu 10.04 并学习 ROS(机器人操作系统),这意味着我输入了相当多的 shell 命令
我目前正在创建一些 BASH 脚本文件以使我的工作更轻松,但某些命令必须在另一个控制台中运行。
所以请告诉我我必须在我的 .sh 文件中写入哪些命令,以便它可以在一个窗口中运行它的命令,然后启动另一个窗口,在其中运行其他命令,但来自同一个 .sh 文件
或者它们可能位于不同的 .sh 文件中,只需在不同的控制台中运行即可。
你可以在另一个终端模拟器窗口中运行你的脚本,我想gnome-terminal用命令
gnome-terminal -x ./script
Run Code Online (Sandbox Code Playgroud)
您可以简化在您的 ~/.bashrc
start() {
gnome-terminal -x "$@"
}
Run Code Online (Sandbox Code Playgroud)
在哪里可以选择您喜欢的名称而不是start. 您以这种方式使用该功能
start ./command arg1 arg2
Run Code Online (Sandbox Code Playgroud)
(您需要重新启动终端才能让 shell 了解新功能)。
如您所见,有一个小问题,一旦命令终止,窗口就会关闭。为避免这种情况,您可以将命令包装在 shell 脚本中,并在最后一行添加read命令:
#!/bin/sh
# script
./command arg1 arg2
read answer
Run Code Online (Sandbox Code Playgroud)
然后当你打电话
start ./script
Run Code Online (Sandbox Code Playgroud)
它不会关闭,等待您的输入。
不幸的是,很难在start函数中实现自动化。