Как мне передать переменные из скрипта в файлы, которые я создаю с помощью cat?

#bash #variables #echo #substitution #cat

#bash #переменные #echo #замена #cat

Вопрос:

Я не уверен, правильно ли я задаю вопрос.

Это то, с чем я работаю:

 a=foo
b=bar
cat 1.txt > new1.txt
 

Содержимое 1.txt:

 $a
$b
 

При запуске этого new1.txt выглядит примерно так:

 $a
$b
 

Чего я хочу:

 foo
bar
 

Ответ №1:

С помощью envsubst :

 export a="foo"
export b="bar"
envsubst < 1.txt > new1.txt
 

Вывод в new1.txt:

foo
bar

Ответ №2:

С помощью sed

 sed "s/$a/$a/; s/$b/$b/" 1.txt > new1.txt