Я пишу сценарий оболочки, который должен загрузить некоторые данные из Интернета, и я просто подумал, могу ли я положиться на cURL
что он предустановлен во всех дистрибутивах Unix.
я знаю это wget
не входит в OS X по умолчанию, но cURL
является. Я также помню, как устанавливал cURL
на Ubuntu Server но уже год или два. Сегодня я попробовал Ubuntu Server 12.04, и он поставляется с cURL
из коробки.
Нет, cURL не является стандартной частью операционных систем. Это не стандартно для всех дистрибутивов на базе Linux.
Все остальное равняется, я бы сказал, более вероятно, что у вас установлен wget.
Тем не менее, почему бы просто не создать условие, ищущее как wget, так и curl в PATH, и использовать все, что доступно, если таковое имеется? Если вы хотите быть амбициозным, не стесняйтесь использовать lynx, w3m и т. Д. В миксе.
Поскольку некоторые машины имеют тенденцию curl
и другие, как правило, имеют wget
предустановлен, я иногда использую это в сценариях Bash:
# use curl or wget, depending on which one we find
curl_or_wget=$(if hash curl 2>/dev/null; then echo "curl -s"; elif hash wget 2>/dev/null; then echo "wget -qO-"; fi);
if [ -z "$curl_or_wget" ]; then
echo "Neither curl nor wget found. Cannot use http method." >&2
exit 1
fi
x=$($curl_or_wget "$url")
Он должен быть доступен для всех основных дистрибутивов, хотя в целом не считается частью ОС, и если он не установлен, его может установить любой администратор. поскольку это открытый исходный код, его могут скомпилировать даже дистрибутивы, у которых его нет. Также есть порт для Windows.
Он не входит в состав AIX. Установить на AIX очень сложно, множество зависимостей.