我需要关闭一个特定的gnome-terminal窗口,该窗口具有来自任何其他bash / shell脚本的唯一名称。
例如:
$] gnome-terminal --title "myWindow123" -x "watch ls /tmp"
...
...
gnome-terminal以名称" myWindow123"
打开我只需要从我的脚本中杀死该终端。是否还期待bash中的脚本支持?
答案 0 :(得分:2)
作为当天最丑陋黑客的参赛者:
sh$ TERMPID=$(ps -ef |
grep gnome-terminal | grep myWindow123 |
head -1 | awk '{ print $2 }')
sh$ kill $TERMPID
一个可能更好的选择是在发布时记录终端的PID,然后用该pid杀死:
sh$ gnome-terminal --title "myWindow123" -x "watch ls /tmp"
sh$ echo $! > /path/to/my.term.pid
...
...
# Later, in a terminal far, far away
sh$ kill `cat /path/to/my.term.pid`
答案 1 :(得分:0)
在启动终端的脚本中:
#!/bin/bash
gnome-terminal --title "myWindow123" --disable-factory -x watch ls /tmp &
echo ${!} > /var/tmp/myWindow123.pid
在将杀死终端的脚本中:
#!/bin/bash
if [ -f /var/tmp/myWindow123.pid ]; then
kill $(cat /var/tmp/myWindow123.pid && rm /var/tmp/myWindow123.pid)
fi
答案 2 :(得分:0)
这有点丑陋,但是您可以创建一个将随机数作为参数的包装器脚本,然后杀死那个。
.red{
color:red;
}
.green{
color:green;
}
.blue{
color:blue;
}