try
function exec_cmd() {
printf "+ %s \n\n" "$1"
bash -c "$1" || exit 1
}
exec_cmd '{ head -n1 inputFile.new && egrep -i "X|Y" inputFile.new; } > outputFile.new'
Тогда вам не нужно беспокоиться об экранировании строк.
Примечание об использовании bash -c
, следующий аргумент после
используется как $ 0
(скрипт "name" изнутри скрипта), а последующие аргументы становятся позиционными параметрами ($ 1, $ 2 и т. д.).