2012-05-03 44 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