Ниже приведен переносимый способ проверить, существует ли команда в $PATH
и :
[ -x "$(command -v foo)" ]
Пример:
if ! [ -x "$(command -v git)" ]; then
echo 'Error: git is not installed.' >&2
exit 1
fi
Выполняемая проверка необходима, потому что bash возвращает неисполняемый файл, если в $PATH
нет исполняемого файла с этим именем.
Также обратите внимание, что если неисполняемый файл с тем же именем, что и исполняемый файл существует ранее в $PATH
, черточка возвращает первый, хотя последний будет выполнен. Это ошибка и является нарушением стандарта POSIX. [ Сообщение об ошибке ] [ Стандартное ]
Кроме того, это не удастся, если команда, которую вы ищете, была определена как псевдоним.
Нет, если вы проверите getResponseCode()
перед getInputStream()
, и проблема - это код возврата HTTP, а не ошибка подключения.