LINUX.ORG.RU

Мой первый shell-скрипт


0

1

Добрый день всем!
Имеется локальная база данных в виде файла data.sqlite, состоящая из трех таблиц. В таблице данные. Собственно вопрос:
Нужен shell-скрипт, который бы извлекал строчку из одной и таблиц, упаковывал бы ее в POST-запрос и с помощью curl отправлял по заданному url.



Последнее исправление: podovalov5 (всего исправлений: 2)

С такой формулировкой — в джоб.

Что ты уже пытался сделать? Что именно не получается?

ymn ★★★★★
()

Не вижу в чем сложность, кроме твоей лени и желания сделать работу чужими руками.

извлечение: sqlite "SELECT ..." > /tmp/data.txt

curl вообще прост как угол дома

sdio ★★★★★
()
Последнее исправление: sdio (всего исправлений: 1)
Ответ на: комментарий от podovalov5

Я надеялся, хоть конструкцию кто подскажет.

Ну тогда он будет уже не твой. Но так и быть вот тебе от меня целая первая строчка #!/usr/bin/env bash знай мою доброту.

Скрипта нет еще.

Аааа ты просто объявление разместил а мопед не твой?

init_6 ★★★★★
()
Ответ на: комментарий от podovalov5

Ни в коем случае. Только не это.

anonymous
()
touch uberscript
chmod a+x uberscript

И дальше поехали как-то так:

#!/usr/bin/env bash
curl -X POST -d $(sqlite /path/to/data.sqlite 'SELECT bla-bla-bla') http://your/url/

Алсо, man bash, man curl.

ymn ★★★★★
()
Ответ на: комментарий от init_6

А если у него bash лежит в еще более подходящей для него жопе

А если у него фряха?

ymn ★★★★★
()
Ответ на: комментарий от anonymous

почему ты уходишь от ответа?

А почему ты уходишь от ответа?

Собственно шанс того, что env или bash лежат не на своих местах одинаков. Однако в любом случае env точно знает где живет то что является bash-ем.

init_6 ★★★★★
()
Ответ на: комментарий от init_6

а потому что правильно делать «#!/usr/bin/env bash»

нет.
а где уверенность в корректности /usr/bin/env ?
UPD. уже сказали об этом.

dada ★★★★★
()
Последнее исправление: dada (всего исправлений: 1)
Ответ на: комментарий от podovalov5

podovalov5> Скрипта нет еще. В этом-то и проблема.

Напиши - проблемы не будет. Сначала почитай документацию к консольному интерфейсу СУБД, затем ABS, и после этого спокойно пиши скрипт.

Quasar ★★★★★
()
Ответ на: комментарий от init_6

А если у него bash лежит в еще более подходящей для него жопе а не в /bin/bash?

у меня вообще bash отсутствует в системе (и в жопе тем более). Развели срач. Не по теме.

#env
HISTFILESIZE=1000
INPUTRC=/etc/inputrc
USER=root
HOSTNAME=system_host
HOME=/xeroot
SSH_TTY=/dev/pts/0
PAGER=/bin/more
PS1=#
LOGNAME=xeroot
TERM=xterm
PATH=/bin:/sbin:/usr/bin:/usr/sbin:/usr/bin/X11:/usr/local/bin
DMALLOC_OPTIONS=debug=0x34f47d83,inter=100,log=logfile
HISTSIZE=1000
SHELL=/bin/sh
PWD=/root
SSH_CONNECTION=10.0.2.9 59900 10.0.2.214 22
EDITOR=/bin/vi

podovalov5
() автор топика
Ответ на: комментарий от podovalov5

Развели срач

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

anonymous
()
Ответ на: комментарий от init_6

потому что правильно делать «#!/usr/bin/env bash»

чем именно правильней? нафига?

anonymous
()
Ответ на: комментарий от anonymous

Я видел шаблоны, большое спасибо всем, кто по-настоящему помогает.

podovalov5
() автор топика
Ответ на: комментарий от init_6

Ни в одном десктопном линуксе не видел, чтобы bash лежал где-нибудь ещё, кроме /bin. Хотя бы симлинк на него там есть. Потому что туеву хучу скриптов уже придётся перепиливать, если это будет не так. А env - ненужная прослойка для очевидного.

border-radius
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.