Как мне запретить bash использовать встроенную команду?

Я пытаюсь исправить сценарий, который используетecho, то есть с помощью встроенной команды вместо команды, как я могу предотвратить это?

Я знаю, что могу сделать/bin/echo для принудительного использования этого, но я не хотел бы жестко закодировать путь (для переносимости).

Я думал, используя что-то как:

$ECHO=`which echo`
$ECHO -e "text\nhere"

ноwhich echo возвращает: "echo: встроенная команда оболочки".

В итоге я определилecho функция, которая используетenv как рекомендует @Kenster. Таким образом, мне не нужно изменять вызовы echo в скрипте.

echo() {
  env echo $*
}

# the function is called before the built-in command.
echo -en "text\nhere"

Ответы на вопрос(0)

Ваш ответ на вопрос