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
модификатор перезапишет ваш файл