Очевидно из she-bang, этот сценарий предназначен для запуска bash
, а не sh
(даже хотя синтаксис больше похож на синтаксис zsh
из-за переменных без кавычек).
Вы захотите запустить его с помощью bash
или zsh
. Если эти оболочки недоступны, вы можете установить их или, альтернативно, перевести этот сценарий в синтаксис sh
, который здесь должен быть простым.
Язык sh
(как Bourne, так и POSIX) не имеет оператора <(...)
. Это происходит из ksh
, а также поддерживается bash
и zsh
. echo -e
является нестандартным, и даже с bash
и ksh
работает только в некоторых средах.
Стандартный эквивалент sh
:
var1="var1"
var2="var2"
var3="var3"
cat < "$var1" || exit
printf '<something>\n' || exit
cat < "$var2/file123.txt" || exit
printf '</something>\n<something2>\n' || exit
cat < "$var3//file456.txt" || exit
print '</something2>\n'