2017-11-29 8 views
0

set -x "g++" "/usr/local/gcc-7.1/bin/g++-7.1"英数字以外のg ++​​やその他のコマンドを "エイリアス"する方法は?

は、英数字以外の「++」文字のために機能しません。 (エラーメッセージ: "set:Invalid character" + "変数名に")

ここで不運か回避策はありますか?私はちょうど24時間未満前に魚に切り替え、g ++のエイリアシングの回避策があるかどうかはわかりません。

お時間をいただきありがとうございます。

答えて

2

最も単純:

alias g++ /usr/local/gcc-7.1/bin/g++-7.1 
+0

私の質問は不正確でした。私は "エイリアス"を使用すべきではありませんでした。私はセットアップ時にエイリアスを避けようとしています(私は100以上のBashを持っています)。しかし、@ridiculous_fishには答えがありました。g ++のエイリアスをインタラクティブに作成し、 "type g ++"を実行し、出力を関数として保存しました。 – Shankar

+0

'type'を経由する必要はありません - fishは' funcsave'を持っていますので 'funcsave g ++'です。 – faho

1

setは、エイリアスを作成しません、それは変数を設定します。

したがって、set -x g++ somethingは、 "g ++"という変数を "something"という値に設定してエクスポートします( "-x")。 aliasまたはfunctionまたはabbrで -

さて、あなたが最も可能性の高い提案ridiculous_fish何と実際のエイリアス(へalias desugars、または略語や関数)を定義したいです。

また、「+」文字は変数名に使用できません。なぜなら、魚はそれを許すことができますが、他のシェルは許されないからです。そして、変数をエクスポートすることができるので、それらの名前はそれらの名前と互換性がある必要があります(bashのg++=somethingを試してください - コマンドとして実行しようとします)。詳細については、Allowed characters in linux environment variable namesを参照してください。

関連する問題