Jak powiedzieć bashowi, aby nie rozwijał aliasów


6

Wiem, że istnieje prosta składnia informująca bash, aby nie rozszerzał aliasów. Jednak Google nie podnieca tego i jestem zbyt leniwy, aby czytać man bash. Odpowiedź powinna być także na tej stronie.

Odpowiedzi:


12

Umieść pierwszy ukośnik przed pierwszym znakiem.

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

4
Nawiasem mówiąc, nie jest to funkcja specyficzna dla basha. Jest to wymagane przez POSIX i działa między innymi w bash, ksh i zsh.
Gilles

8

Możesz użyć commandwbudowanego polecenia powłoki. Wykonuje tylko polecenia znalezione w PATHwbudowanych komendach lub powłoki. Nie wykona aliasów ani funkcji powłoki.

Przykład:

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

Wpisz shopt -u expand_aliasesw powłoce bash (przełącznik -u jest wyłączony). Polecam przeczytanie strony man dla shopt.

Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.