Я пытаюсь создать bash script
для daemonized celeryd task
. В моем скрипте bash мне нужно создать несколько файлов и добавить контент. Это содержимое имеет переменную, заданную пользователем с именем $app_name
с read method
и некоторыми другими переменными в содержимом.
Проблема:
Когда я копирую содержимое моего bash-скрипта по указанному пути, он не копирует переменные, уже присутствующие внутри.
Пример:
В моем скрипте bash у меня есть:
########################
# Get application name #
########################
read -p "Define the application name (lowercase and without spaces): " app_name
echo "You defined the application name: $app_name"
############################################################
# Create service file /usr/local/etc/rc.d/celeryd_app_name #
############################################################
cat > /usr/local/etc/rc.d/celeryd_$app_name << EOF
#!/bin/sh
# =====================================================
# celeryd_$app_name - Starts the Celery worker daemon.
# =====================================================
#
# :Usage: /etc/init.d/celeryd_$app_name {start|stop|force-reload|restart|try-restart|status}
# :Configuration file: /etc/default/celeryd_$app_name
### BEGIN INIT INFO
# Provides: celeryd_$app_name
# Required-Start: $network $local_fs $remote_fs
# Required-Stop: $network $local_fs $remote_fs
# Default-Start: 2 3 4 5
# Default-Stop: 0 1 6
### END INIT INFO
EOF
Но если я открою созданный файл, я получу:
### BEGIN INIT INFO
# Provides: celeryd_$app_name
# Required-Start:
# Required-Stop:
# Default-Start: 2 3 4 5
# Default-Stop: 0 1 6
### END INIT INFO
Не копирует $network $local_fs $remote_fs
, которые присутствуют в контенте.
Есть еще один способ сделать это?
Спасибо!