Odwrotny ukośnik powstrzyma rozszerzenie aliasu, tj. Wykonuje oryginalne polecenie i upewnia się, że wersja aliasu nie działa. Skrypty mogą nieświadomie działać z rozszerzaniem aliasów, gdy system jest ustawiony shopt -s expand_aliases
(tylko BASH) lub jeśli jest wykonywany przy użyciu source
.
./conda.sh # usually no alias expansion (unless `shopt -s expand_aliases` in BASH)
source ./conda.sh # alias expansion
. ./conda.sh # alias expansion
Niektórzy administratorzy lubią wstawiać ukośnik we wszystkim jako środek zapobiegawczy przeciwko efektom ubocznym aliasów, na wypadek, gdyby został przypadkowo aliasowany gdzie indziej, a alias zostanie rozwinięty, jak wyjaśniono wcześniej. Na przykład, jeśli system alias dirname='dirname -z'
gdzieś to ustawił i warunek pozwala na rozwinięcie aliasu, wówczas skrypt, który próbuje wywołać dirname, niestety zadzwoni dirname -z
, co nie było zamierzone.
Jeśli istnieje pewność, że taki alias nie istnieje, możemy usunąć cały ukośnik odwrotny i powinien on działać poprawnie.
Alternatywnie można użyć command
zamiast wersji z odwrotnym ukośnikiem, aby ukryć alias. Zamiast tego \dirname
można użyć command dirname
, który może wyglądać na bardziej czytelny. (W przypadku wbudowanych poleceń, takich jak cd
, należy użyć builtin
zamiast tego). Wolę to zamiast tego, ponieważ omija również funkcję o tej samej nazwie, a także wszelkie aliasy.