Допустим, у меня есть следующий псевдоним в bash alias ls='ls --color=auto'
- и я хочу назвать обычный ls
без опций. Единственный способ сделать это - unalias, выполнить команду, а затем снова псевдоним? Или есть какой-нибудь изящный трюк или обходной путь?
164
Ответы:
Вы также можете использовать префикс обратной косой черты, чтобы отключить псевдоним:
\ls
Изменить: Другие способы сделать то же самое включают в себя:
Используйте «команду»:
command ls
согласно Mikel .Используйте полный путь:
/bin/ls
согласно Утеру .Цитировать команду:
"ls"
или'ls'
согласно комментарию Микеля.Вы можете временно удалить псевдоним для этого терминального сеанса с
unalias command_name
.источник
command
илиbuiltin
.l\s
делает то же самое. Это поведение ошибка или особенность?Для этого и нужна
command
команда.Пытаться
Это говорит оболочке обойти псевдонимы и функции.
Этот способ поддерживается bash , zsh и ash / dash.
источник
Псевдоним - это просто определенный ярлык. В этом примере определен псевдоним - строка
ls
, которая выполняетсяls --color=auto
. Если вы не хотите такого поведения, вы можете вызвать двоичный файл,ls
используя абсолютный путь.Таким образом, выполнение just
/bin/ls
приведет к выводу без цвета, потому что это не определенный вами псевдоним.Вы также можете изменить псевдоним на другое или добавить новый псевдоним, который выполняется
ls
без параметров цвета.источник
/bin
и/usr/bin
является произвольным.which
для некоторых команд:which ls
.which
(илиtype
), он выполняет поиск через$PATH
; Вы могли бы просто использоватьls
или\ls
вместо того, чтобы указывать путь.Другой способ, основанный на ответе @ uther, заключается в использовании
$(which ...)
или`which ...`
(с помощью обратных кавычек``
) автоматического поиска пути исполняемого файла. Это будет работать вbash
:Несомненно, простой префикс команды с
\
намного короче.ОБНОВЛЕНИЕ : Согласно Как использовать `which` для команды с псевдонимом? это не кажется надежным на всех.
источник
`which ls`
хотите выполнить двоичный файл напрямую.(which ls)
меня это не сработало (на Ubuntu 12.04 LTS), и неприятности были тяжелыми, я просто избежал их: \ `which ls \`. Чтобы добраться туда, потребовалось много редактирования :)$
?Лично я просто избегаю определения псевдонимов с теми же именами, что и команды, поэтому
ls
всегда вызываю саму команду. У меня есть псевдонимы или функции для различных комбинаций опций , таких какl
,ll
иlg
. (Это означает, что я нуждаюсьunalias ls
в моем.bashrc
или.cshrc
.)Я нахожу, что предположения ОС относительно того, какие варианты я бы предпочел (переопределяя предположения разработчиков самой
ls
команды), редко соответствуют моим личным вкусам. Мне не нравится внешний видls --color=auto
, и его разборчивость может сильно различаться между черным на белом и белым на черном.YMMV, и другие решения, конечно, еще полезно знать.
источник
Кажется
LS
, что ввод команды в верхнем регистре работает , хотя я не совсем уверен, почему.источник
LS - display animations aimed to correct users who accidentally enter LS instead of ls.