所以我试图创建一个shell脚本来打开四个终端窗口(最好是konsoles)并在每个窗口中运行一个命令,然后保持每个终端打开,这样我就可以继续执行命令了。期望的。
我尝试按照此处列出的说明操作:
和
在尝试了这些细节后,我所拥有的最好的是:
!/bin/bash
# Shell script to open terminals
# and execute a separate command in each
# Commands to run (one per terminal)
cmds=('echo 'hello1'', 'echo 'hello2'')
# Loop through commands, open terminal, execute command
for i in "${cmds[@]}"
do
xterm -e "$i && /bin/tcsh" &
done
编辑: 使用Roberto的答案,我得到了四个这样的终端,但我无法输入其他命令,请注意没有像#34; mycomputername>这样的提示。 ":
编辑2:
我找到了一种更好的方法来做我想做的事。下面的脚本将在单独的终端中执行cmds数组中列出的命令。所以回声' hello1'将在一个终端运行,并回复' hello2'将在另一个终端运行。这将继续使用cmds数组中列出的许多命令
for(int i=0;i<n-1;++i)
for(int k=i+1;k<n;++k)
sum += a[i] * a[k];
答案 0 :(得分:1)
您可以使用&#34; for&#34;循环,和&#34;&amp;&#34;在后台运行xterm:
#!/bin/bash
# some older test, doesn't work and complains and I get this message on command line: "QApplication::qAppName: Please instantiate the QApplication object first"
# I also can't enter text after command executes
#echo "Hello World!"
#exec konsole --noclose -e cat ~/.aliases
for i in 1 2 3 4
do
# opens terminal but then I can't control terminal afterwards
xterm -hold -e "echo Hello My World" &
done
# didn't do anything
#exit 0
# didn't do anything except make me type exit an extra time where I executed my shell script
#$SHELL
答案 1 :(得分:0)
#!/usr/bin/env bash
konsole --noclose -e echo Hello terminal 1! &
konsole --noclose -e echo Hello terminal 2! &
konsole --noclose -e echo Hello terminal 3! &
konsole --noclose -e echo Hello terminal 4! &
#!/usr/bin/env bash
konsole --noclose --new-tab -e echo Hello terminal 1! &
konsole --noclose --new-tab -e echo Hello terminal 2! &
konsole --noclose --new-tab -e echo Hello terminal 3! &
konsole --noclose --new-tab -e echo Hello terminal 4! &
答案 2 :(得分:0)
在Linux Mint mate 发行版上,它将在3个独立的终端窗口中运行<commands>
:
$ cat START.sh
mate-terminal --execute bash -c "<command1>"
mate-terminal --execute bash -c "<command2>"
mate-terminal --execute bash -c "<command3>"
杀死 START.sh 不会终止子级<commands>
。
答案 3 :(得分:0)
我发现这很容易:
#!usr/bin/env bash
echo "Enter the value of n:"
read n
for ((i = 0; i < n; i++ ))
do
xterm -hold -e <enter command> &
# In my case, I used :
# xterm -hold -e sar -P $i 2 5 &
done
差不多就可以了!祝你有美好的一天:)
注意:对于新手,我们将其保存为文件名'。sh'。另外,请注意,这将在n个不同的终端上执行n个不同的命令。如果需要,可以在每个终端上执行相同的命令,只需从in do .... done部分中删除$ i;)