Заполнение файлов из SH-скриптов

  • Автор темы Sarymian
  • Дата начала
S

Sarymian

Гость
#1
Всем привет.

Имеется скрипт install.sh
Код:
#!/bin/sh
cd /home/www/
...
Далее требуется создать файл в который этим же скриптом надо добавить содержание.
Пробовал так:
Код:
...
cat > 1.txt
test messeng!
^C
echo ok
Файл выполняемым сделал (chmod +x install.sh).
Файл создается, но информация в него не пишется.

Подскажите плиз, как его можно заполнить?
 
S

Sarymian

Гость
#2
С помощью адовых извращений нашел способ:
Код:
echo '1.test messeng!' >> 1.txt
echo '2.test messeng!' >> 1.txt
echo '3.test messeng!' >> 1.txt
т.е. суть именно в ДВУХ знаках "больше". Если стоит 1, то файл перезаписывается, если 2 то строка добавляется в конец.

Есть еще у кого предложения как можно записать данные в файл из SH-скрипта? Менее извращенным способом?
 

dimka3210

Пользователь
#3
Не понятно ничего.
Нужно что именно?

Первая строка перетирала содержимое, а остальные дописывались? Или как?
 
S

Sarymian

Гость
#4
Дима по сути скрипт установки nginx из исходников.

Сначала скачивается tar.gz, распаковывается. Конфигурируется, "мейкается" и инсталится.
Это всё без проблем делает и проходится.

НО! В исходниках нет init.d скрипта для запуска nginx как сервиса.
Вот и хочу чтобы мой шел после установки nginx создавал файл /etc/init.d/nginx и писал в него нудные строки (строки есть, дернул из deb пакета).

Прошу прощения, за невнятное описание. Я сегодня 4 часа убил на конфигурирование MariaDB из исходников :( так и не встала. Голова уже болит.
 
S

Sarymian

Гость
#5
Я еще долго потом гуглил на работе.
Самый "правильный" вариант это писать через Эхо.
Другие варианты это писать через сторонние программы типа vi - т.е. их еще надо и проинсталлить в систему (где они и не нужны собственно).

Так что я пожалуй остановлюсь на Эхо в своих потребностях.
Хотя если есть что-то оригинальное, буду рад увидеть.
 

dimka3210

Пользователь
#6
А для чего это? Репы опаздывают с обновлениями?
Делаешь тогда так:
1) apt-get install nginx
2) make
3) make install

:D

Все файлы на месте и nginx последней версии.
 
S

Sarymian

Гость
#7
Из репов nginx ставится "не туда", в другие пути прописывается, так что файл /etc/init.d/nginx все равно придется править.
Ну а главное это то, что лишние "плагины" включены в репоДжинксе. Я много стараюсь отключить, чтобы он занимался только тем что ему надо. Без всяких стримингов видео и т.п.

Ну в общем, извращаюсь :)
 

Sprinx

Пользователь
#8
Вообще-то, init.d это папка, которая находится в папке etc.
Если нужно, прикрепил файл запуска nginx.
 

Вложения

S

Sarymian

Гость
#9
Sprinx, вообще-то я в курсе.
И да, я писал выше что файл скрипта запуска (скрипт сервиса) у меня имеется , который я вытащил из DEB пакета (пакет брал на сайте nginx'а).

В общем ладно, вопрос снял, костыль нашел. Так устроит.
 
Сверху