LINUX.ORG.RU
ФорумAdmin

Создание скрипта из скрипта

 ,


0

0

Вопрос наверное достаточно простой, но до меня не как не доходит как сделать.

Допустим у нас есть скрипт test1:

 #!/bin/bash

A = 5
B = $A+2
#дальше нам нужно создать скрипт в который будет передана $B.

echo " 
#!/bin/bash
C=$B

Z= $C+5
echo $Z

" > /home/user/test2.sh

вся проблема в том, чтобы во время исполнения test1 интерпретируется весь скрипт, т.е. и то, что находиться в echo. А мне нужно сделать так чтобы в echo подставлялось только $B, а остальное пропускалось. Т.е. в результате выполнения данного скрипта вне нужно увидеть созданный файл скрипта test2 в котором будет:

#!/bin/bash
C= 7 # т.е. $B подставили.

Z= $C+5
echo $Z


Последнее исправление: cetjs2 (всего исправлений: 1)
Ответ на: комментарий от router

Спасибо за наводку, пойду погуглю.

Прошу прощения если ошибся с разделом. Но мне кажется это подходит больше к вопросу администрирования.

vakym
() автор топика

что за огород ты тут нагородил, братюнь
быстро говори мне настоящее описание изначальной задачи

zolden ★★★★★
()
Ответ на: комментарий от zolden

Есть сервер nginx.

Есть скрипт добавления нового сайта(добавление пользователя, создания конфига nginx, создание конфига php, создание папок для сайта и создание скрипта бэкапа)

В процессе выполнения скрипта нужно создать скрипт бэкапа. Именно в этом месте у меня затык. Скрипт создаю так:


echo "
#!/bin/bash

#сам скрипт

" >  /home/user/test2.sh

Проблема в том, что в " " есть переменные, которые хранят пути бэкапа, названия сайта и т.д. И их соответственно нужно интерпретировать во время исполнения скрипта создания сайта. А есть переменные, которые должны интерпретироваться не вовремя выполнения скрипта создания сайта, а во время исполнения скрипта бэкапа, однако они интерпретируются во время выполнения скрипта создания сайта и соответственно скрипт бэкапа записывается не правильно.

Вот примерно так выглядит задача.

Сорри, если запутано описал. Просто со скриптами сталкиваюсь в первый раз.

vakym
() автор топика
cat > файл << EOF
и пишешь
что угодно
а в конце -
EOF
Eddy_Em ☆☆☆☆☆
()
Ответ на: комментарий от zolden

Ты чё, кодогенерация, посоны будут уважать :3

anonymous
()
Ответ на: комментарий от vakym

Проще всего:

echo "
 # здесь то, к чему применяется подстановка
"'
 # здессь то, к чему не применяется
'"
 # здесь опять применяется
"'
 # а здесь опять нет
'
Пробелов между `'` и `«` быть не должно.
О самом подходе к решению задачи распространяться не буду.

ABW ★★★★★
()
Ответ на: комментарий от zolden

Потому что скрипт создания сайта запускается один раз при создании сайта, а скрип бэкапа запускается каждую ночь.

vakym
() автор топика
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.