Comments 30
зло.рф — звучит как-то неоднозначно.
А так, довольно интересный подход.
А так, довольно интересный подход.
Не понял про двухфакторную авторизацию, что такое 'коды фишатся' и почему этого нет при использовании аппаратного токена? — от слова фишинг? железные токены от этого не защищают.
Если что самые надежные — взаимодействия на базе цифровых подписей, сайт просит дать подпись к уникальному сообщению, содержащему описание операции, а пользователь его подписывает своим приватным ключом.
Если что самые надежные — взаимодействия на базе цифровых подписей, сайт просит дать подпись к уникальному сообщению, содержащему описание операции, а пользователь его подписывает своим приватным ключом.
Хорошая подборка, нашел себе подсказку для переделки парсера
Я бы добавил сюда вызов функций внутри баша с ипользованием и передачей переменных между ними, ну и построение сервисных скриптов с аргументами
func1 () {
#somethingusefulhere
}
func2 () {
#somethingusefulhere
}
"$@" # <<обязательно в ковычках
а так спасибо :)
Я бы добавил сюда вызов функций внутри баша с ипользованием и передачей переменных между ними, ну и построение сервисных скриптов с аргументами
func1 () {
#somethingusefulhere
}
func2 () {
#somethingusefulhere
}
"$@" # <<обязательно в ковычках
а так спасибо :)
В первом слайде ошибка:
if ["$X" = "$Y"] #неверно!!!
#Правильно:
if [ "$X" = "$Y" ]
Почему bash такой несогласованный: в одних местах пробелы и кавычки необходимы, в других запрещены?
Так сложилось исторически. Многие вещи — наследие ещё более старых shell'ов. В случае примера выше [
является либо внешней программой, либо builtin'ом. И в том, и в другом случае пробел обязателен. А, например, арифметика вида $((a+1))
не требует пробелов, т. к. является частью синтаксических конструкций баша, и явно описана в грамматике в отличии от builtin'ов, которые сначала парсятся как generic конструкция и потому требуют разделения пробелами аргументов.
Он, шелл (не надо говорить баш, это плохой тон), напротив, весьма согласован и логичен. Нужно лишь уяснить, что каждая строчка скрипта (кроме определений функций и управляющих конструкций) — это тупо команда + её аргументы. В этом свете сразу становятся понятными и требования пробелов в одном контексте, и запрещение их в другом, например, при присваивании переменной значения (ср.
Зачем я это пишу? В
foo=bar
с попыткой исполнения команды foo
с параметрами =
и bar
).[
изначально был программой, а не внутренней конструкцией языка, и все ифы, вайлы, форы...man sh(1)
всё отлично изложено.Более того, действительно правильно будет лишь
Иначе у скрипта будут проблемы, если хотя бы одна из переменных пустая.
if [ "x$X" = "x$Y" ]
Иначе у скрипта будут проблемы, если хотя бы одна из переменных пустая.
Про tcpdump ошибка:
не dest, а dst.
не dest, а dst.
На нас напали! Exterminate, exterminate, exterminate!!!111одинодин
If computers are so fast, why Windows are so slow :(
В нижнем левом слайде про CORS фактическая ошибка, access-control разрешает не отправлять данные, а читать в браузере содержимое ответа.
За советы типа «используйте [[, а не [» надо давать по рукам. Такой код не выполнится в стандартных реализациях
sh(1)
, например в *BSD, а тащить каждый раз баш не хочется. Ну и [
— встроенная команда практически в любом современном шелле, так что это не аргумент.Если вы не заметили — это подсказки по bash ;) Поэтому странно тут упоминать совместимость с sh
Я заметил; нет, не странно. 99% баш-скриптов на самом деле каких-то действительно полезных фишек баша не используют (типа массивов, например, или улучшенного parameter expansion) и являются по сути обычными шелл-скриптами с непереносимыми конструкциями (навроде той же
Не стоит приучать себя писать баш-скрипты: ни баш, ни [[ не стандартизованы, в отличие от POSIX shell и test ([). Переносимость — великая вещь. Пишите shell-скрипты, и старайтесь проверять их работу на нескольких разных реализациях *nix.
[[ -a ...
вместо [ -e ...
или ==
вместо =
).Не стоит приучать себя писать баш-скрипты: ни баш, ни [[ не стандартизованы, в отличие от POSIX shell и test ([). Переносимость — великая вещь. Пишите shell-скрипты, и старайтесь проверять их работу на нескольких разных реализациях *nix.
Ошибка в слове «аутенфикация»
Sign up to leave a comment.
Подборка слайдов от Джулии Эванс