Вы можете проверить с помощью curl:
url="http://website.url/directory/file.txt"
if curl -f ${url} >/dev/null 2>&1; then
bash some_bash_script.sh
else
exit 0
fi
Это будет работать, только если сервер вернет 404 в случае, если файл не существует. Если сайт не возвращает 404, вам нужно будет адаптировать команду if check, возможно, проверив вывод curl.
{{ 1}}cat foo
Это запускает команду cat
с аргументом foo
. Ошибка, выводимая на экран, полностью зависит от того, что решил программист команды.
cat < foo
Это передает содержимое файла foo
команде cat
с помощью перенаправления стандартного ввода Bash . Если файл не существует, на него жалуется Bash.
В $ cat foo
оболочка (здесь bash) выполняет команду cat
и передает параметр foo
. Программа cat решает интерпретировать этот параметр как имя файла и пытается открыть файл.
Вы видите ошибку из-за программы cat, которая (естественно) не может открыть файл.
Версия $ cat
<
- оператор оболочки, который инструктирует оболочку открыть файл и перенаправить его на стандартный ввод. Файл не существует, поэтому вы получите сообщение «Нет такого файла». На этот раз ошибка исходит из оболочки (bash) и выглядит немного иначе.
Вот почему вы видите 2 разные ошибки. Причина та же, но от двух разных программ (cat и bash).