LINUX.ORG.RU

Curl цикл Bash

 ,


0

1

Помогите пожалуйста

Скрипт который должен читать строки из файла

for a in `cat /mnt/id.txt`; do curl -v --data «method=write&tid=»${a}«&uid=123» http://127.0.0.1/api; done

Если вручную присвоить а=111 и запустить curl -v --data «method=write&tid=»${a}«&uid=123» http://127.0.0.1/api - срабатывает, при запуске этого скрипта - нет


В таком случае лучше использовать

cat file | while read a ...

for разбивает не по строкам. И вообще тут кавычки вокруг ${a} не нужны, так как ${} раскрывается и в двойных кавычках

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

да я полагаю у него проблема с переносами строк

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

что может быть запускаю

while read a; do echo $a done < /mnt/id.txt читает tid 149 127 637 132 213

присваиваю опять же вручную а=149 запускаю curl -v --data «method=write&tid=»${a}«&uid=123» http://127.0.0.1/api - работает в цикле не хочет

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

используй пожалуйста тег: [code]

#!/bin/bash
cat /mnt/id.txt | 
sed 's/\r//' |
while read a; do
        do curl -v --data «method=write&tid=»$a«&uid=123» http://127.0.0.1/api
done

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

прошу прощения, пропустил «»

#!/bin/bash
cat /mnt/id.txt | 
sed 's/\r//' |
while read a; do
        do curl -v --data "method=write&tid="$a"&uid=123" http://127.0.0.1/api
done

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

в начале скрипта set -x и смотри выхлоп

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