引数

2009-11-06 6 views
10

内のホームディレクトリの拡張(〜に)私は、次の(BASH)を入力します。それは引数

rdesktop -r disk:bacon=/home/me/bacon host 

に展開されていません

rdesktop -r disk:bacon=~/bacon host 

"ディスク:" らしい部分があります問題は次のように表示されます:

$ echo bacon=~/bacon disk:bacon=~/bacon 

bacon=/home/me/bacon disk:bacon=~/bacon 

チルダをどのように展開できますか?

答えて

13

〜は展開されませんが(経路の特別なルーティングとして使用されます)、$HOMEがあります。

rdesktop -r disk:bacon=$HOME/bacon host 

ただし、環境が変更される場合は、ご注意くださいsu

6

rdesktop -r disk:bacon=$(echo ~/bacon) host

はそれを行います。それは目を喜ばせませんが、うまくいくでしょう。

+0

なぜ機能しないのですか?私はこのマニュアルを読んでいて、これだけ見つけました* "それぞれの変数の割り当ては、引用符で囲まれていないチルダ - プレフィックスの直後に:または最初の=が付いているかどうかがチェックされます。これらの場合、チルダ拡張も実行されます。 "* –

+0

しかし、それはディスク:bacon =〜/ baconがうまくいくかのように見えます... –

+0

bashはティルドを探します置換文字列の後に ':'を付けます。 'disk:bacon = ...'は有効な変数の割り当てではありません。 – outis