从单个 bash 脚本触发两个终端,两个终端输出到两个单独的文件
Firing two terminals from a single bash script and both terminals output to two separate files
我有两个单独的命令在两个不同的终端中运行。
场景 1: 当我没有 bash 脚本时
在 1 号航站楼: ./executable1 -param conFile > output1.txt
在 2 号航站楼: ./executable2 -param conFile > output2.txt
它工作并将输出写入两个单独的文件。
场景 2: 这是我使用 bash 脚本并遇到问题的地方。
我有以下 bash 脚本:
#!/bin/bash
gnome-terminal -e "./executable1 -param conFile > output1.txt"
sleep 5
echo "Fired first Command"
gnome-terminal -e "./executable2 -param conFile > output2.txt"
echo "Fired Second command"
它既不创建output1.txt也不创建output2.txt。 我该如何实现?
我又尝试了一件事情:
./mybashscript.sh >output.txt
但它会生成一个输出文件,其内容仅为:
Fired first Command
Fired Second command
我期待 command1 和 command2 的输出,但它只给了我 bash 文件的回显部分。
但是我需要在两个不同的文件中输出这两个命令。
注:两个命令中第一个是接收方,第二个是发送方。所以,我必须一个接一个地打开它们。
使用
gnome-terminal -e 'bash -c "./executable1 -param conFile > output1.txt"'
您需要 bash 进行重定向。
我有两个单独的命令在两个不同的终端中运行。
场景 1: 当我没有 bash 脚本时
在 1 号航站楼: ./executable1 -param conFile > output1.txt
在 2 号航站楼: ./executable2 -param conFile > output2.txt
它工作并将输出写入两个单独的文件。
场景 2: 这是我使用 bash 脚本并遇到问题的地方。 我有以下 bash 脚本:
#!/bin/bash
gnome-terminal -e "./executable1 -param conFile > output1.txt"
sleep 5
echo "Fired first Command"
gnome-terminal -e "./executable2 -param conFile > output2.txt"
echo "Fired Second command"
它既不创建output1.txt也不创建output2.txt。 我该如何实现?
我又尝试了一件事情:
./mybashscript.sh >output.txt
但它会生成一个输出文件,其内容仅为:
Fired first Command
Fired Second command
我期待 command1 和 command2 的输出,但它只给了我 bash 文件的回显部分。
但是我需要在两个不同的文件中输出这两个命令。
注:两个命令中第一个是接收方,第二个是发送方。所以,我必须一个接一个地打开它们。
使用
gnome-terminal -e 'bash -c "./executable1 -param conFile > output1.txt"'
您需要 bash 进行重定向。