переменная bash-скрипта из curl

Сначала вам нужно составить список каталогов, а затем удалить их,не мешая обычным файлам, ls -d */ только перечисляет подкаталоги -, а передача их с помощью rm удаляет каталоги и содержимое, сохраняя незакрепленные файлы.

Эта команда должна выполнить задание,

ls -d  */ | xargs rm -rf
0
04.12.2019, 15:36
1 ответ

Во второй команде вы заканчиваете подстановку команд перед конвейером в jq. Этот вызов jq— это то, что анализирует нужное вам значение, поэтому он должен быть частью подстановки команды:

FWRID=$(
    curl -X GET \
        -H 'X-Auth-Email: REDACTED' \
        -H 'X-Auth-Key: REDACTED'   \
        'https://api.cloudflare.com/client/v4/zones/aaxxx/filters' |
    jq -r '.result[0].id'
)

В вашей исходной команде, где вы оставляете jqвне подстановки команды, jqбудет считывать вывод присвоения переменной FWIDи получать из этого некоторый результат. Поскольку присваивание не производит никакого вывода, оно вообще не делает ничего интересного.

Кроме того, поскольку присваивание в исходной команде является частью конвейера, оно выполняется в подоболочке, поэтому значение $FWIDпусто (или, по крайней мере, не изменилось )при вызове echoпозже..

2
28.01.2020, 02:29

Теги

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