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