Назад | Перейти на главную страницу

linux sh -c replace echo не работает

Кажется, у него должен быть супер простой ответ, но я какое-то время искал и пробовал разные предложения, но безрезультатно.

В качестве примера я пытаюсь создать функцию, которая будет доступна при выполнении следующего

sh -c "echo 'test \c'"

Я попытался добавить следующий код сразу после команды shebang / first как в / etc / profile, так и в / etc / bashrc

echo () {
    builtin echo -e "$@"
}

Что расстраивает, так это то, что он работает в обычном sh и bash при входе в систему. Однако как только sh -c запускается, он просто забывает, что когда-либо существовал. Я пробовал другие тесты, например, создание функции с именем echo2, но ее нет в sh -c

И вот что очень расстраивает: это ДОЛЖНО быть sh -c, потому что проприетарное корпоративное программное обеспечение выполняет свои команды внутри sh -c, что я не могу контролировать ... Так что это ДОЛЖНО быть чем-то, что изначально работает с sh - c "что-то"