Если Вы знаете название файла заранее, можно использовать -O
опция к wget для сообщения этого, где записать файл.
wget -O /var/cache/foobar/stackexchange-site-list.txt http://url.to/stackexchange-site-list.txt
$?
расширяется до статуса выхода последний раз выполняемого приоритетного конвейера. Посмотрите раздел Special Parameters руководства Bash.
В более простых терминах это - статус выхода последней команды.
Ответ Cjm корректен, но $?
может использоваться глупыми способами в сценариях оболочки, и я хотел бы предостеречь от этого. Много плохих сценариев оболочки имеет повторный шаблон кода:
run_some_command
EXIT_STATUS=$?
if [ "$EXIT_STATUS" -eq "0" ]
then
# Do work when command exists on success
else
# Do work for when command has a failure exit
fi
Если вообще возможный (проблемы удобочитаемости иногда нарушают) необходимо кодировать эту ситуацию по-другому:
if run_some_command
then
# Do work when command exists on success
else
# Do failure exit work
fi
Это последнее использование быстрее, не загрязняет переменное пространство имен оболочки тем, какие суммы работать временно переменные, могут часто быть намного более читаемыми для людей и поощряют использование "положительной логики", практику записи условных выражений без отрицания, который имеет познавательную простоту в большинстве ситуаций. Это покончило с использованием $?
по большей части.
В дополнение к какой сказанный cjm, если значение $?
0, затем предыдущий процесс действительно обычно завершался (или успешно). Иначе была некоторая ошибка.
diff
выходы с 0, если сравненные файлы являются тем же с 1, если они отличаются, и 2, являются ошибкой.
– Shawn J. Goff
20.02.2011, 17:04
$?
определяет статус выхода выполняемой команды. $
сопровождаемый числами (например. $1
, $2
, и т.д.), представляет параметры в сценарии оболочки.
$?
- Статус выхода последней выполненной команды.
$0
-Имя файла текущего скрипта.
$#
-Количество аргументов, передаваемых сценарию.
$$
-Номер процесса текущей оболочки. Для сценариев оболочки это идентификатор процесса, под которым они выполняются.
$? предоставьте нам статус выполнения последней команды выполнения в приглашении. Значение «0» означает, что команда была выполнена успешно, а «1» — неуспешно.