bashエイリアス定義の構文

bashエイリアス定義の構文

私はCygwinを使用しており、すべての開発パッケージと、他のパッケージのほとんど(すべてではない)をインストールしています。gccのエイリアスを指定すると、エラーが発生します。

-bash: alias: gcc: not found

何が間違っているのでしょうか?

ターミナルに次のコマンドを入力しています:

alias gcc "gcc -ansi -Wall -g -O0 -Wwrite-strings -Wshadow -pedantic-errors -fstack-protector-all"

ちなみに、このエイリアスは他のシステムでも機能します。

答え1

エイリアス割り当て構文は bash/zsh/fish では間違っています (構文は tcsh です)。=エイリアス名とエイリアス拡張の間に次のものが必要です。

alias gcc="gcc -ansi -Wall -g -O0 -Wwrite-strings -Wshadow -pedantic-errors -fstack-protector-all"

を省略すると=、bash はgccと `"gcc -ansi ..." を 2 つのエイリアス名として解釈し、その定義を一覧表示しようとします。これらのエイリアスは定義されていないため、次の警告が表示されます。

bash: alias: gcc: not found
bash: alias: gcc -ansi -Wall -g -O0 -Wwrite-strings -Wshadow -pedantic-errors -fstack-protector-all: not found

関連情報