Ответ 1
Вы можете использовать документ здесь:
cat <<EOF >/home/a.config
first line
second line
third line
EOF
Вы можете поместить некоторые из них в один и тот же script.
Мне нужно настроить сервер с несколькими файлами, и я хочу сделать это программно.
Мне нужно создать файлы, скажем /home/a.config,/var/spool/b.config,/etc/c.config
файлы имеют некоторое содержимое (несколько строк).
Я хочу создать ОДНУ оболочку script, которая может создать все три файла с несколькими строками (около 10). Я хотел бы знать, как я могу использовать команду CAT для этого. (внутри оболочки script).
Я смотрю что-то вроде этого
echo " going to create /home/a.config"
cat "HOW CAN I HAVE MULTIPLE LINES HERE?? " > /home/a.config
спасибо
Вы можете использовать документ здесь:
cat <<EOF >/home/a.config
first line
second line
third line
EOF
Вы можете поместить некоторые из них в один и тот же script.
Так же:
#!/bin/bash
var="your text"
echo "simply put,
just so: $var" > a.config
Для получения дополнительной информации см. раздел "Ввод/вывод" abs.
Надеюсь, это поможет.
Файл = "/TMP/test.txt"
echo "Добавление первой строки" > $file
echo "Добавление первой строки заменено" > $file
echo "Добавление второй строки" → $file
echo "Добавление третьей строки" → $file
cat $file
, чтобы добавить/заменить контент (здесь фактическое содержимое было заменено на вторую строку)
→ добавить |
Результат
Добавление первой строки заменено
Добавление второй строки
Добавление третьей строки
>\#!/bin/bash
>
>var="your text" <br>
>echo "simply put, <br>
>just so: $var" > a.config
Обратите внимание, что вам также необходимо избегать определенных символов, чтобы они не мешали тому, что вы пытаетесь сделать, например, $`и "все разломят такой оператор, если перед ним не будет обратная косая черта, то есть \`\ $или\"
поэтому, если мы определим следующее:
вар = "100"
следующее не будет вести себя так, как ожидалось:
эхо "просто положите,
просто" одолжить "меня US $$ var" > a.config
но следующее будет работать правильно:
эхо "просто положите,
просто\" lend \ "меня US\$$ var" > a.config
Если в тексте есть переменные, такие как $1 или $HOMEDIR, они обычно оцениваются и заменяются фактическими значениями. Если вы хотите предотвратить их замену, вам нужно указать строку ограничения открытия (EOF в примере ниже) с одинарной кавычкой 'EOF'
, двойную кавычку "EOF"
или предшествующую ей обратную косую черту \EOF
Строка ограничения закрытия остается как есть. EOF
Это особенно полезно, если вы пишете сценарии оболочки в файл.
cat << 'EOF' >/etc/rc.d/init.d/startup
case $1 in
start)
start
;;
stop)
stop
;;
restart)
stop
start
;;
status)
pid=$(tomcat_pid)
if [ -n "$pid" ]
then
echo "Tomcat is running with pid: $pid"
else
echo "Tomcat is not running"
fi
;;
esac
EOF
См. Пример 19.7 Замена параметра Завершена в Здесь Документы