Как записать аргумент в файл?

Я пытаюсь записать, что некоторое содержание в файл и в то же время изменяет некоторые значения, которые будут переданы через args.

Я следовал этому ответу, Создающему файл с некоторым содержанием в сценариях Shell

cat > filename <<- "EOF"
File contents
More contents
EOF

Таким образом позвольте, говорят, когда я запускаю скрипт как это:

./script Abraham

и я хочу записать в файле что-то как:

Hello Abraham
More contents, etc...

Я произошел из среды JavaScript, таким образом, я пробовал что-то как:

`Hello ${1}, etc...`

но то, что я проникал внутрь файла, было:

Hello $1
More contents, etc...

потому что не позволяет мне установить переменную аргумента. Таким образом, как я могу выполнить это?Заранее спасибо.

0
задан 19 February 2019 в 00:30

1 ответ

Кавычки вокруг начальной буквы "EOF" предотвратите переменное расширение. Для использования переменных в heredoc тексте Вам нужно к неупомянутому разделителю:

cat > filename <<- EOF
Hello $1
More contents, etc...
EOF

Но затем необходимо будет быть осторожны относительно синтаксиса оболочки в остальной части содержания.

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

echo "Hello $1" > filename
cat >> filename <<- "EOF"
More contents, etc...
EOF

Отметьте использование >> для добавления после начальной записи.

0
ответ дан 26 October 2019 в 05:33

Другие вопросы по тегам:

Похожие вопросы: