Bash script & mdash; хранить `curl` вывод в переменной, а затем форматировать строку в переменной

, если PhpStorm.sh является терминальным приложением. Найдите метод для создания нового запуска или линзы и заполните его следующей командой

gnome-terminal -x sh -c "<path to PhpStorm.sh>"

else, если это сценарий greaphical shell с использованием zenity или аналогичного использования, аналогичный метод создания и заполнения пусковой установки с помощью следующего commad

sh -c "<path to PhpStorm.sh>"
1
задан 29 December 2015 в 23:35

2 ответа

Я надеялся закрутить данные в переменную сценария оболочки, а затем использовать cat или awk для работы с этой переменной, как если бы это был файл. Возможно ли это, или есть обходной путь?

Конечно, вы можете. Если содержимое не слишком велико, и если вы хотите запускать несколько команд для синтаксического анализа содержимого, то лучше хранить его в памяти, а не повторно загружать каждый раз.

Чтобы сохранить результат из curl в переменной:

ipinfo=$(curl ipinfo.io/8.8.8.8)

Для запуска команд на нем:

<<< "$ipinfo" awk ...
<<< "$ipinfo" sed ...

Двойные кавычки no `` $ ipinfo важны для сохранения всех пробелы.

«Обходной путь», чтобы не сохранять содержимое в переменной, заключается в том, чтобы выяснить способ обработки содержимого в одном конвейере, например @kos.

4
ответ дан 23 May 2018 в 14:43

Еще один простой и понятный способ сделать это, вы можете использовать python, который существует во всех системах на основе Linux, для синтаксического анализа json для вас

Просто Импорт json и sys, чтобы загрузить объект json, затем напечатайте с объекта result любое свойство, которое вам нужно:

curl ipinfo.io/"8.8.8.8" 2>/dev/null | 
  python -c 'import  json,sys; 
             result=json.load(sys.stdin); 
             print(result["'city'"] + ", " + result["'region'"])';

Я добавил скрипт более читаемым образом, однако вы должны поместить одну строку или добавьте \ к концу каждой строки, если вам нужно записать его в несколько строк.

0
ответ дан 23 May 2018 в 14:43

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

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