Что означает символ '@' в сценарии csh

По умолчанию wget ( задокументирован в руководстве ) перезапускается после тайм-аута по умолчанию в 900 секунд (также известного как 15 минут).

Добавление - timeout = 0 решает проблему.

0
13.05.2019, 07:40
1 ответ

Ну, невозможно узнать, о чем думал автор этого сценария. Но вот некоторые наблюдения:

  • Если команда awkдействительно говорит printf, затем он печатает целочисленное значение второй строки в строке ввода.
  • Как роайма прокомментировал и как я, как известно, прокомментировал, awk— очень мощная программа. Вам почти никогда не нужно запускать его в комбинации с grep, sedили другим awk. Так
    grep num_lines filename | awk '{ printf("%d", int($2)) }'
    можно написать
    awk '/num_lines/ { printf("%d", int($2)) }' filename
  • Как я упоминал выше, int($2)дает вам целую часть второй строки в строке ввода. Итак, если в файле конфигурации указано num_lines   foo, вы получите 0. Если написано num_lines   3.14, вы получите 3. Маловероятно, что вам потребуется принимать такие меры предосторожности. с хорошо -сформированным конфигурационным файлом.
  • В любом случае,
    printf("%d", int($2))
    — это излишество. Насколько я могу судить,
    printf("%d", $2)
    и
    print int($2)
    (почти )точно эквивалентны.
  • Единственное отличие, которое я могу определить заключается в том, что версия printfне пишет новую строку в конце :
    $ echo "num_lines   42" | awk '{printf("%d", $2)}'; date
    42Mon, May 13, 2019 12:00:00 AM
     
    $ echo "num_lines   42" | awk '{print int($2)}'; date
    42
    Mon, May 13, 2019 12:00:01 AM
    но это не совсем актуально, поскольку `…`удаляет завершающую новую строку.
  • Вы говорите: «Для меня это выглядит как обычное присваивание переменной». Но пользователи [t]csh знают, что это не позволяет
    variable=value
    ты должен сказать
    set variable=value
    или
    @ variable=expr
    Конечно, простая целочисленная константа допустима expr, . так что автор может просто использовать @вместо setпотому что это короче, и они знают, что значение является целым числом.

Таким образом, инструкция устанавливает переменную linesк значению num_linesиз ../config.txt.

0
28.01.2020, 03:41

Теги

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