2016-05-17 6 views

答えて

8

すべての魚の変数は配列です。だから、理論的にはこれはVARをエクスポートするとき、残念ながら魚が自動的にコロンで区切られた値の文字列にその配列を変換しません

set -x RUBIES $RUBIES /opt/jruby-1.7.0 "$HOME/src/rubinius" 

ような単純なものでしょう。現時点では、魚はPATHとMANPATHのためだけです。

あなたはこのようにそれを行うことができます。

set -x RUBIES "$RUBIES:/opt/jruby-1.7.0:$HOME/src/rubinius" 

しかし、それはルビーがすでに設定されていると仮定します。さもなければ、varを使用しているすべてのソフトウェアにとって特別な意味を持つかもしれないし、そうでないかもしれない先行コロンを持つ文字列を得るでしょう。それに対処するのは簡単です:

すぎる
if set -q RUBIES[1] 
    set -x RUBIES "$RUBIES:/opt/jruby-1.7.0:$HOME/src/rubinius" 
else 
    set -x RUBIES "/opt/jruby-1.7.0:$HOME/src/rubinius" 
end 

、あなたは魚2.3(近日発売予定)やgitのヘッドから構築された魚を使用している場合は、文字列を分割し、参加するために、新しい「文字列」の組み込みを使用することができますコロン:

set rubies (string split ':' $RUBIES) 
set rubies $rubies /opt/jruby-1.7.0 "$HOME/src/rubinius" 
set -x RUBIES (string join ':' $rubies) 
+1

5行を使用してbashの1行でできることは本当に醜いですね。 – user3467349

関連する問題