set -x "g++" "/usr/local/gcc-7.1/bin/g++-7.1"
英数字以外のg ++やその他のコマンドを "エイリアス"する方法は?
は、英数字以外の「++」文字のために機能しません。 (エラーメッセージ: "set:Invalid character" + "変数名に")
ここで不運か回避策はありますか?私はちょうど24時間未満前に魚に切り替え、g ++のエイリアシングの回避策があるかどうかはわかりません。
お時間をいただきありがとうございます。
set -x "g++" "/usr/local/gcc-7.1/bin/g++-7.1"
英数字以外のg ++やその他のコマンドを "エイリアス"する方法は?
は、英数字以外の「++」文字のために機能しません。 (エラーメッセージ: "set:Invalid character" + "変数名に")
ここで不運か回避策はありますか?私はちょうど24時間未満前に魚に切り替え、g ++のエイリアシングの回避策があるかどうかはわかりません。
お時間をいただきありがとうございます。
最も単純:
alias g++ /usr/local/gcc-7.1/bin/g++-7.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を参照してください。
私の質問は不正確でした。私は "エイリアス"を使用すべきではありませんでした。私はセットアップ時にエイリアスを避けようとしています(私は100以上のBashを持っています)。しかし、@ridiculous_fishには答えがありました。g ++のエイリアスをインタラクティブに作成し、 "type g ++"を実行し、出力を関数として保存しました。 – Shankar
'type'を経由する必要はありません - fishは' funcsave'を持っていますので 'funcsave g ++'です。 – faho