Как создавать скрипты, которые создают другие скрипты

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

Вот как выглядит мой код:

echo "STEP 8: CREATE STOP SCRIPT"
stopScriptContent="echo \"STOPING GLASSFISH PLEASE WAIT...\"\n
cd glassfish4/bin\n
chmod +x asadmin\n
./asadmin stop-domain\n
#In order to work it is required that the original folder of glassfish don't contain already any #project, otherwise, there will be a conflict\n"
${stopScriptContent} > stop.sh
chmod +x stop.sh

Но это не создается правильно, так выглядит вывод stop.sh:

"STOPING GLASSFISH PLEASE WAIT..."\n cd glassfish4/bin\n chmod +x asadmin\n ./asadmin stop-domain\n #In order to work it is required that the original folder of glassfish don't contain already any #project, otherwise, there will be a conflict\n

Как вы видите, много чего не так:

нет эха команда принимает \ n литерал, поэтому нет новой строки

Мои сомнения:

нет команды эхо Что вы делаете, я делаю неправильно?
1
задан 18 October 2013 в 02:24

1 ответ

Удаление \ n из вашего кода, и просто это сработало для меня.

#!/bin/bash

echo "#!/bin/bash
      echo 'Hello World'" > b.sh
bash b.sh

Результаты вывода:

Hello World
2
ответ дан 24 May 2018 в 16:42

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

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