Пакетная загрузка Wget и сохранение неудачных ссылок

Я подозреваю, что проблема здесь в том, что foo = bar - это присваивание (то же самое, что activate = false ), а синтаксический анализатор оболочки назначает как побочный эффект условного оператора. Всегда используйте [ в коде ZSH вместо Bourne [], а вместо foo = bar следует использовать пробелы, чтобы отличать тест от присваивания:

activated=false
function test_toggle() {
  if [[ $activated = false ]]; then
    echo "WAS FALSE"
    activated=true
  else
    echo "WAS TRUE"
    activated=false
  fi
}

Результат :

% exec zsh
% which test_toggle
test_toggle () {
    if [[ $activated = false ]]
    then
        echo "WAS FALSE"
        activated=true 
    else
        echo "WAS TRUE"
        activated=false 
    fi
}
% echo $activated
false
% test_toggle 
WAS FALSE
% test_toggle
WAS TRUE
% test_toggle
WAS FALSE
% 
2
15.11.2016, 22:54
1 ответ

почему бы просто не перенаправить stderr ?

$ wget -i test.txt 2> wget-fail.log

$ cat  wget-fail.log 
--2016-11-15 22:06:50--  http://failing-host.com/
Auflösen des Hostnamen »failing-host.com (failing-host.com)«... fehlgeschlagen: Der Name oder der Dienst ist nicht bekannt.
wget: kann die Host-Adresse »failing-host.com« nicht auflösen

[править]

У меня есть функция ведения журнала, настроенная в сценарии bash для создания журнала, в котором сохраняются как stdout, так и stderr. Простое использование 2>, похоже, создает файл журнала с таким же огромным количеством информации в нем, включая успешные загрузки. Я мог бы подойти к проблеме с точки зрения синтаксического анализа файла журнала, ...

нет необходимости в синтаксическом анализе:

$ cat wget.sh 
#!/bin/bash
echo log to stdout
echo >&2 log to stderr
wget -i test.txt 2> wget-fail.log

$ sh wget.sh  &> script.log

$ cat script.log 
log to stdout
log to stderr

$ cat wget-fail.log 
--2016-11-15 23:02:00--  http://failing-host.com/
Auflösen des Hostnamen »failing-host.com (failing-host.com)«... fehlgeschlagen: Der Name oder der Dienst ist nicht bekannt.
wget: kann die Host-Adresse »failing-host.com« nicht auflösen
2
27.01.2020, 22:10

Теги

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