Мой вопрос прост.bash echo wrapper issue
Я использую некоторые обломоки echo/print вместо простых вызовов эха в более крупном сценарии bash. Пример:
!/bin/bash
function print_common() { echo "[email protected]"; }
function print_inf () { echo "INFO: $(print_common [email protected])"; }
function print_war () { echo "WARN: $(print_common [email protected])"; }
function print_err () { echo "ERROR: $(print_common [email protected])"; }
Как правило, он работает очень хорошо. Ниже script1.sh:
!/bin/bash
print_err "Whoops!"
генерирует:
ERROR: Whoops!
Однако script2.sh:
!/bin/bash
print_err "*** Whoops!"
генерирует:
ERROR: script2.sh Whoops!
ожидаемый результат печати:
ERROR: *** Whoops!
Благодарим за помощь!
Все '$ @', чтобы избежать globbing: '' $ @ "' – Cyrus
спасибо Cyrus и stackoverflow! –
@Cyrus Это, вероятно, должно быть сделано ответом. –