рекомендации по выполнению почти одной и той же команды несколько раз [дубликат ]

На этот вопрос уже есть ответ здесь:

Мне нужна помощь в выяснении передовых методов выполнения этих команд в bash. Это команда, которая отправляет текст, и мне нужно повторить эту команду по нескольким телефонным номерам и по нескольким датам ... всего около 250 раз. Команда возвращает что-то вроде этого {"creditsUsed": 1.00, "snapshotId": 107416458} , если все прошло успешно. В противном случае - код ошибки.

curl -X POST \
-H "X-Primotexto-ApiKey: 784155c6a3c9ceed9d0a4d1ffdb67466" \
-H "Content-Type: application/json" \
-d '{"number":"+317877592979" , "message":"test\nother line" , "sender":"myCompany" , "date": 1539272220000}' \
https://api.primotexto.com/v2/notification/messages/send;

curl -X POST \
-H "X-Primotexto-ApiKey: 784155c6a3c9ceed9d0a4d1ffdb67466" \
-H "Content-Type: application/json" \
-d '{"number":"+317877574678" , "message":"test2\nother line" , "sender":"myCompany" , "date": 1539272220001}' \
https://api.primotexto.com/v2/notification/messages/send;

curl -X POST \
-H "X-Primotexto-ApiKey: 784155c6a3c9ceed9d0a4d1ffdb67466" \
-H "Content-Type: application/json" \
-d '{"number":"+317877574676" , "message":"test3\nother line" , "sender":"myCompany" , "date": 1539272220002}' \
https://api.primotexto.com/v2/notification/messages/send;

...

Должен ли я закончить его ; или && ? Следует ли мне написать сценарий? Могу ли я сделать что-то лучше с json?

РЕДАКТИРОВАТЬ , возможно, я мог бы создать такой файл json:

{
    "number":"+336770002979",
    "message":"La plupart\ntest",
    "sender":"BEinstitute",
    "date": 1539286620000
},
{
    "number":"+336600000780",
    "message":"La plupart\ntest",
    "sender":"BEinstitute",
    "date": 1539286620000
}

и прогнать каждый объект с помощью curl. Есть идеи, как это сделать?

$ curl -X POST -H "X-Primotexto-H "Content-Type: application/json" -d @json.json https://api.primotexto.com/v2/notification/messages/send;

читает только первый объект.

0
задан 11 October 2018 в 12:27

1 ответ

Все это зависит от Ваших требований. Но запись сценария редко является плохой идеей, специально для повторяющихся задач.

Но между ; и &&, это - совершенно другой результат.

  • ; разделитель команды
  • && условный оператор (так ||)

Например:

Если Вы пробуете следующую команду:

touch /var/no-permission; echo "It works!"

Первая часть строки (перед полустолбцом) перестанет работать, так как у Вас не будет доступа для создания файлов в /var (как долго, поскольку Вы не зарегистрированы как root конечно). Но Вы будете видеть строку"t works! распечатанный в Вашей консоли, потому что полустолбец является просто разделителем и не заботится, работает ли предыдущая команда или нет.

Однако, если Вы пробуете следующую команду:

touch /var/no-permission && echo "It works!"

Это ничего не сделает так, что Вы не будете видеть It works! в Вашей консоли. Так как первая команда перестанет работать, && оператор не попытается выполнить следующую команду. (Можно также использовать || вместо && сделать его противоположное. Таким образом, вторая команда только работает когда первые сбои),

Таким образом, если один из сбоев команд, все, что другие должны остановить, затем использует &&. Если они должны продолжить, использовать ;.

Нет: Если можно записать каждую команду на новой строке, это - как будто Вы разделяете их полустолбцом. Например,

touch /var/no-permission; echo "It works!"

Совпадает с

touch /var/no-permission
echo "It works!"
3
ответ дан 27 October 2019 в 08:18

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

Похожие вопросы: