Пакетный эквивалент Windows «команда» в linux bash

В linux bash есть command команда, которая может выполнять «настоящую» команду, даже если у вас есть имя функции или имя файла сценария, имя которого равно этой команде.

 function ping(){ echo do nothing } command ping 

Будет по-прежнему работать.

  • В bash, как я могу переименовать файл, не повторяя путь?
  • Выполнить команду терминала, не сохраняя ее в .bash_history на OS X?
  • «Ошибка такого файла или каталога» в bash, но файл существует?
  • Создать rar без структуры каталогов из командной строки
  • Могу ли я создать файл конфигурации для сценария оболочки?
  • Вызов сценария с ./bla.sh vs. bla.sh
  • В пакете windows у меня есть файл ping.cmd который входит в цикл, если я запускаю ping внутри него.

    Что эквивалентно command в пакете windows?

  • Процесс bash использует 90% процессор, возвращается на перезагрузку компьютера
  • Разница между «a = b» и «export a = b» в bash
  • Можно ли переопределить командную строку, встроенную в команду «cd»?
  • Как добавить команду в историю Bash без ее выполнения?
  • Sudo - есть ли команда, чтобы проверить, есть ли у меня sudo и / или сколько осталось времени?
  • Как удалить файл в Linux, чье имя похоже, что оно ТОЛЬКО дефис, как в "-"
  • One Solution collect form web for “Пакетный эквивалент Windows «команда» в linux bash”

    Ответ 1: Нет, потому что пакет Windows даже не имеет таких функций, как bash. Он имеет только подпрограммы, которые используют другой синтаксис, чем обычные команды – ping vs call :ping – поэтому нет необходимости в переопределении.

    Если вы внимательно прочтете документацию, command пропускает только псевдонимы и функции, но ничего не делает о скриптах в $ PATH. В обеих оболочках , если вы переопределяете использование реального файла сценария, вам нужно найти «настоящую» команду.

    Ответ 2: Чтобы избежать описанного вами цикла, вам нужно указать полное имя «ping».

    • С bash это означало бы вызов /bin/ping или, возможно, цикл за $ PATH, пока вы его не найдете.

    • В Windows такие же варианты существуют; Однако, поскольку ваш скрипт фактически называется ping.bat или ping.cmd , вы можете запустить ping.exe чтобы избежать цикла.

    Давайте будем гением компьютера.