Создание переменных командной строки с помощью PATH

Поскольку я больше из веб-парня, мне нужна небольшая помощь в этом, поэтому я объясню, что я пытаюсь сделать, прежде чем я спрошу.

Я создаю пакетный скрипт, который будет:

  • GET запрос с внешнего сервера (json-файл), получение данных, сохранение локально как .json
  • Используйте JQ для навигации по json для результата [0] .title
  • Используйте «название» в качестве параметра для запроса на завивание

Как только у меня есть файл локально. Я бы использовал JQ для поиска данных в объекте

cat file.json | jq '.results[0].title' > $1 && cat file.json | jq '.results[0].title' > $1 && curl -i -H "Accept: application/html" -H "Content-Type: application/html" -X GET http://example.com/test/$1 > test.txt

Можно ли установить локальные переменные в командной строке '$ 1' для временного использования в команде с каналами?

Я здесь здесь?

  • динамические (переменные) имена bash
  • Почему изменение $ PATH влияет на дочерние оболочки, но с изменением $ foo нет?
  • Создайте скрипт из сценария Bash, используя здесь-документ; почему моя переменная заменяется?
  • Как напечатать имя переменной вместе со значением?
  • Использование контурной петли для переменной окружения
  • Понимание переменных окружающей среды в разных контекстах
  • как обмениваться переменными среды между оболочками, такими как глобальные переменные, связанные с мастером pid?
  • задайте переменную внутри heredoc и используйте их снаружи
  • One Solution collect form web for “Создание переменных командной строки с помощью PATH”

    Хотя $1 обычно имеет особое значение (первый параметр передан скрипту / функции / и т. Д.), Вы действительно можете сохранить вывод команд в переменных.

     title=$(jq '.results[0].title' file.json) curl -i -H "Accept: application/html" -H "Content-Type: application/html" -X GET http://example.com/test/"$title" > test.txt 

    Первая часть запускает команды jq '.results[0].title' file.json и сохраняет вывод (независимо от того, что отображается на stdout в title переменной. Затем мы запускаем команду curl и расширяем переменную title как часть URL-адреса

    Linux и Unix - лучшая ОС в мире.