Я пытаюсь вставить патч в скрипт bash - не могу получить патч для чтения патча из переменной
read -d '' PATCH_OS <<EOF
//PATCH//TEXT//
EOF
patch -b < ${PATCH_OS}
Это не удается:
./script.sh: line 39: --- //PATCH//TEXT//
(строка 39 - это "patch -b <$ {PATCH_OS}" ")
1 ответ
Решение
Это не так, как перенаправления работают. <
перенаправляет ввод из файла; если вы указываете переменную, то ее содержимое принимается за имя файла. Вы бы искали <<<
вместо. И не забудьте поставить цитаты вокруг "$variable"
иначе bash разделит свое значение на пробелы.
(За исключением вашего примера сценария переменная бесполезна. Просто используйте patch -b <<EOF
непосредственно.)