web-dev-qa-db-fra.com

comment "ne pas" exécuter un alias

J'ai mis quelques alias dans le fichier .bashrc. La plupart du temps, j'ai besoin de ces alias, mais parfois, je dois exécuter ces commandes sans options définies dans cet alias.

Comment pas exécuter la commande alias?

7
Edward Torvalds

Exécutez la commande avec un \ initial, une réponse en exemples: ;)

% ls
bar  foo

% alias ls="ls -laog"

% ls
total 4292
drwxrwxr-x  4 4329472 Nov  5 15:06 .
drwx------ 95   28672 Nov  5 15:15 ..
-rw-rw-r--  1       0 Nov  5 15:06 bar
drwxrwxr-x  2    4096 Nov  5 15:06 foo
drwxrwxr-x  2    4096 Okt  2 14:29 .foo
-rw-rw-r--  1     191 Feb 25  2015 .htaccess

% \ls
bar  foo

Un peu plus long mais aussi possible:

command ls
13
A.B.

Vous pouvez utiliser le shell intégré command pour échapper aux alias (et fonctions):

command alias_name

Par exemple:

command ls

exécutera /bin/ls binaire, pas n'importe quel alias défini comme ls.

Une alternative consiste à utiliser des guillemets:

"alias_name"

ou

'alias_name'

Par exemple:

"ls"

ou

'ls'

ceux-ci exécuteront à nouveau le binaire /bin/ls en ignorant les alias ls.

8
heemayl

Vous pouvez également spécifier le chemin complet de la commande. Par exemple, ma commande ls est associée à ls='ls --color -F'

Ce que l’on peut faire est d’appeler /bin/ls ou $(which ls) (pour ceux d’entre nous qui sommes paresseux pour taper chemin complet).

Exemple: appel de la commande d'origine avec des indicateurs $(which ls) -l

3