6

Я знаю, что существует простой синтаксис для bash не расширять псевдонимы. Тем не менее, Google не включает его, и мне лень читать man bash. Также ответ должен быть на этом сайте.

3 ответа3

12

Поставьте обратную косую черту перед первым символом.

$ alias ls="echo foo"
$ ls
foo
$ \ls
bin
Desktop
Documents
  ...
8

Вы можете использовать command оболочку встроенной команды. Он будет выполнять только команды, найденные во встроенной PATH или в оболочке. Он не будет выполнять псевдонимы или функции оболочки.

Пример:

alias ls='ls -l'
$ ls
drwxr-xr-x 3 user user 4096 2010-10-11 13:17 dir1
drwxr-xr-x 3 user user 4096 2010-10-15 15:37 dir2
$ function ls() {
> echo hello
> }
$ ls
hello
$ command ls
dir1  dir2
3

Введите shopt -u expand_aliases в оболочку bash (ключ -u для unset). Я рекомендую прочитать справочную страницу для shopt.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .