Почему cURL работает в подоболочке?

Используя bash и grep, вы можете проверить статус возврата нескольких вызовов grep в такой функции, как:

#!/usr/bin/env bash
failed_zero () {
    grep -q "Test total" "$1" || grep -q "Test scored" "$1" || grep -q "Test failed=0" "$1"
    return $?
}

# test first file name on command line
failed_zero $1
echo $?
-1
09.08.2019, 16:29
2 ответа

Я нашел проблему. В URL-адресе, который я использовал, был амперсанд!

0
28.01.2020, 05:08

Если фактический URL-адрес содержит символ &без кавычек, команда до этого момента будет интерпретироваться оболочкой как команда для запуска в фоновом режиме. Остальная часть URL-адреса будет восприниматься как новая команда.

Всегда указывайте URL-адреса в кавычках при указании их в командной строке. Это также предотвращает интерпретацию других символов в URL-адресе как специальные оболочкой (, например. ;и ?и т. д.)

2
28.01.2020, 05:08

Теги

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