2012-05-03 35 views
2

可能重复:
variable interpolation in bash alias要设置的printf别名

该命令是用来设置我在bash控制台的标题壳

printf "\033]0; my_console_title \007"; 

但我想使用带有别名的此命令,并应接受来自用户 的控制台标题(安装时遇到问题g printf到别名变量)。

类似的东西来:

alias fx="find . -type f | xargs grep -il $1" 

用法:fx "search_text"

+1

别名不太理解。把它变成一个小小的shell脚本;他们确实处理争论。放入您的私人('HOME/bin')目录。奖励:由于其处理的别名较少,因此您的外壳会稍微快一点;你在使用它时只会产生开销(而且开销不会明显)。或者使用一个功能。 –

+0

@JonathanLeffler:但我一直在使用这个别名** alias fx =“find。-type f | xargs grep -il $ 1”**。它的接受参数和工作正常 – Makesh

+1

您的'fx'别名的作品,因为参数结束,而不是中间。如果你的参数应该修改'find'命令而不是'grep'命令,我相信你会遇到问题。我相信如果你从'fx'别名中完全省略'$ 1',你会看到和现在一样的结果。 –

回答

2

你有没有尝试过这样的事情:

alias title='printf "\033];0%s\007"' 

顺便说一句,在你的URXVT线不起作用。

+0

谢谢..其工作:) – Makesh

2

试试这个:

$ alias ttt='printf "\033]0; %s \007" "$1"' 

不能测试它,因为它并不在我的机器上工作,但至少它使没有错误。

编辑:Ups。修复了一个错误。

+0

不工作:( 它删除了现有的标题 – Makesh

+0

再试一次,我犯了一个错字 – Dariop

+0

现在它的工作......谢谢:) – Makesh