分页: 1 / 1

练习shell 脚本时候遇到的疑问,请教下。

发表于 : 2011-05-27 13:21
wnryp
以下是在wiki上学习shell时遇到的一个例子,可是当我运行完了后好像不起作用阿,
终端的标题并没有改变,可以说是没有任何效果。
然后我将

代码: 全选

echo -e "33]0;$107"
这句单独拿出来在终端运行也没有任何效果
我去网上查寻相关资料,最后找到一句这样子的代码:

代码: 全选

export PROMPT_COMMAND='echo -ne "\033]0;qqq\007"'
这句直接在终端运行可一改变终端的标题,但是放在shell里面,然后运行shell就不行了,应该是只对当前终端会话有效,
我现在疑问就是这个例子其实本来就是运行看不到任何效果?
还是我哪里出问题了?
烦请指教阿,谢谢!

代码: 全选

#下面是一个名为xtitlebar的脚本,它可以改变终端窗口的名称。这里使用了一个名为help的函数,该函数在脚本中使用了两次:

#!/bin/sh
# vim: set sw=4 ts=4 et:
help()
{
cat << HELP
xtitlebar -- change the name of an xterm, gnome-terminal or kde konsole
USAGE: xtitlebar [-h] "string_for_titelbar"
OPTIONS: -h help text
EXAMPLE: xtitlebar "cvs"
HELP
exit 0
}
# in case of error or if -h is given we call the function help:
[ -z "$1" ] && help
[ "$1" = "-h" ] && help
# send the escape sequence to change the xterm titelbar:
echo -e "33]0;$107"
# 

Re: 联系shell 脚本时候遇到的疑问,请教下。

发表于 : 2011-05-27 15:11
eexpress
这就是修改标题的。
\e]2;

Re: 联系shell 脚本时候遇到的疑问,请教下。

发表于 : 2011-05-30 14:03
wnryp
eexpress 写了:这就是修改标题的。
\e]2;
谢谢您的回复,您说的命令是这么输入的吗:

代码: 全选

echo -e \e]2;


输入后直观上还不没有任何响应。
001.jpg
001.jpg (15 KiB) 查看 933 次

Re: 练习shell 脚本时候遇到的疑问,请教下。

发表于 : 2011-05-31 17:02
wnryp
001.jpg

Re: 练习shell 脚本时候遇到的疑问,请教下。

发表于 : 2011-06-08 16:20
tusooa
er,\e]0是xterm的.你用gnome-terminal当然没用了
输出的内容要加引号.

Re: 练习shell 脚本时候遇到的疑问,请教下。

发表于 : 2011-06-08 16:28
wnryp
tusooa 写了:er,\e]0是xterm的.你用gnome-terminal当然没用了
输出的内容要加引号.
那gnome-terminal应该是怎样的命令呢? 谢谢~

Re: 练习shell 脚本时候遇到的疑问,请教下。

发表于 : 2011-06-08 18:24
lilydjwg
以下脚本可以使终端在 3 秒钟内更改标题为 test。

代码: 全选

echo -ne "\e]0;test\a" >&2 && sleep 3
\e]0;改为\e]2;也可以。

如果使用fish,要把\e改成\x1b,因为 fish 不支持这个转义。

Re: 练习shell 脚本时候遇到的疑问,请教下。

发表于 : 2011-06-08 19:45
wnryp
lilydjwg 写了:以下脚本可以使终端在 3 秒钟内更改标题为 test。

代码: 全选

echo -ne "\e]0;test\a" >&2 && sleep 3
\e]0;改为\e]2;也可以。

如果使用fish,要把\e改成\x1b,因为 fish 不支持这个转义。

好的,我明天去了试下,非常感谢!

Re: 练习shell 脚本时候遇到的疑问,请教下。

发表于 : 2011-06-09 9:26
wnryp
lilydjwg 写了:以下脚本可以使终端在 3 秒钟内更改标题为 test。

代码: 全选

echo -ne "\e]0;test\a" >&2 && sleep 3
\e]0;改为\e]2;也可以。

如果使用fish,要把\e改成\x1b,因为 fish 不支持这个转义。

非常感谢。可以了~我又试了下 :

代码: 全选

echo -ne "\033]0;qqq\007" >&2 && sleep 3
也OK拉·谢谢指教~ :em11