Syntax der Bash-Aliasdefinition

Syntax der Bash-Aliasdefinition

Ich verwende Cygwin und habe alle Entwicklerpakete sowie die meisten, wenn nicht alle anderen Pakete installiert. Wenn ich einen Alias ​​für gcc angebe, erhalte ich den Fehler

-bash: alias: gcc: not found

Was könnte ich falsch machen?

Ich gebe folgenden Befehl ins Terminal ein:

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

Zu Ihrer Information: Dieser Alias ​​funktioniert auf anderen Systemen.

Antwort1

Ihre Alias-Zuweisungssyntax ist für Bash/Zsh/Fish falsch (Ihre Syntax ist tcsh), Sie benötigen einen =Unterschied zwischen Alias-Namen und Alias-Erweiterung:

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

Wenn Sie das weglassen =, interpretiert bash gccund `"gcc -ansi ..." als zwei Aliasnamen und versucht, deren Definitionen aufzulisten. Da diese Aliase nicht definiert sind, erhalten Sie die Warnung:

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

verwandte Informationen