Je veux ajouter quelques drapeaux à ma compilation gcc, donc je les ai alias
ed
alias gcc_flags='-std=c99 -Wall -pedantic -Wextra -Wconversion'
et essayé de compiler comme ceci:
$ gcc gcc_flags file_name.c -o object_name -L/usr/lib/i386-linux-gnu -lcurl
gcc: error: gcc_flags: No such file or directory
Lors de la compilation sans l’alias, c’est-à-dire.
gcc -std=c99 -Wall -Wextra -Wconversion -pedantic file_name.c -o object_name -L/usr/lib/i386-linux-gnu -lcurl
la compilation fonctionne très bien. Pourquoi donc?
gcc (Ubuntu 4.8.4-2ubuntu1~14.04) 4.8.4
alias gcc_flags='-std=c99 -Wall -pedantic -Wextra -Wconversion'
apparaît sur ma liste d'aliasRelease: 14.04
À propos, n'est-il pas temps que gcc
compile avec -std=c99
par défaut?
Les alias permettent à une chaîne de remplacer un mot par son utilisation comme le premier mot d'une simple commande. (
man bash
, c'est moi qui souligne)
Pour créer un alias pour gcc
avec des indicateurs personnalisés, procédez comme suit:
alias gcc_flags='gcc -std=c99 -Wall -pedantic -Wextra -Wconversion'
Et lancez votre commande en tant que:
gcc_flags file_name.c -o object_name -L/usr/lib/i386-linux-gnu -lcurl
S'il y a des options que vous continuez d'ajouter à chaque fois et que vous souhaitez utiliser comme valeur par défaut, vous pouvez également ajouter un alias pour gcc
lui-même, par exemple:
alias gcc='gcc -std=c99'
De cette façon, gcc
sera toujours démarré avec ce drapeau. Si vous voulez ensuite ignorer la alias
et l'utiliser sans cet indicateur, vous pouvez l'exécuter en tant que \gcc
ou dans un nombre de différentes manières énumérées dans Comment puis-je exécuter la commande originale qui alias avec le même nom? .