Bash Script - Как автоматизировать нано-команду?

Как я могу отредактировать файл, сохраненный на удаленном сервере (из Терминала), не используя команду nano?

Здесь код для ввода

import sys
sys.path.append('/opt/lib/python2.5/site-packages')

Я попытался решить эту проблему записи без использования команды nano с использованием wget + cat для определения местоположения файла, и это похоже на работу.

wget https://REMOTE_SERVER_URL/HTTPRequest.py
cat HTTPRequest.py > /opt/share/pyload/module/network/HTTPRequest.py

Но здесь есть некоторые ошибки, после того как скрипт правильно сохраняет "pyload"

wget https://REMOTE_SERVER_URL/pyload
cat pyload > /etc/init.d/pyload
chmod 755 /etc/init.d/pyload

То говорит

update-rc.d: warning: /etc/init.d/pyload missing LSB information
update-rc.d: see <http://wiki.debian.org/LSBInitScripts>
 Adding system startup for /etc/init.d/pyload ...
   /etc/rc0.d/K20pyload -> ../init.d/pyload
   /etc/rc1.d/K20pyload -> ../init.d/pyload
   /etc/rc6.d/K20pyload -> ../init.d/pyload
   /etc/rc2.d/S20pyload -> ../init.d/pyload
   /etc/rc3.d/S20pyload -> ../init.d/pyload
   /etc/rc4.d/S20pyload -> ../init.d/pyload
   /etc/rc5.d/S20pyload -> ../init.d/pyload

EDIT23NOV: очистил код

1 ответ

Решение

Не использовать nano, ты можешь использовать sedможет быть что-то вроде

sed -i '/import pycurl/i \
import sys \
sys.path.append("/opt/lib/python2.5/site-packages")' opt/share/pyload/module/network/HTTPRequest.py

Я не проверял это, так что, возможно, вам следует избегать косых черт внутри приложения.

И сначала сделайте резервную копию файла, потому что -i модификатор перезапишет ваш файл

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