- 1
- 2
- 3
- 4
STEAMROOT="$(cd "${0%/*}" && echo $PWD)")
...
rm -rf "$STEAMROOT/"*
Нашли или выдавили из себя код, который нельзя назвать нормальным, на который без улыбки не взглянешь? Не торопитесь его удалять или рефакторить, — запостите его на говнокод.ру, посмеёмся вместе!
+133
STEAMROOT="$(cd "${0%/*}" && echo $PWD)")
...
rm -rf "$STEAMROOT/"*
http://www.opennet.ru/opennews/art.shtml?num=41469
эпик фейл
#юмор
#идиоты
Elvenfighter 07.02.2015 21:04 # −1
tirinox 07.02.2015 21:08 # 0
Elvenfighter 10.02.2015 00:37 # 0
bormand 07.02.2015 21:32 # +4
Lure Of Chaos 07.02.2015 22:24 # +3
или это только у меня при чтении кода перед глазами "автоматически" в переменные и плейсхолдеры мысленно подставляются граничные и "невероятные" значения, типа null, пустой строки, 0, NaN, минимальное\максимальное значения, при которых код может упасть с ошибкой или отработать некорректно?
что особенно тревожно в контексте потенциально опасных операций типа delete, eval, а в данном случае и rm - как можно было не предположить, что переменной окружения не окажется в среде окружения?
ведь, на самом деле, элементарных ошибок не так много (как-то: выход за пределы границ [массива], разыменование нулевого указателя, использование-после-освобождения) и, к прочему, все обильнее ловятся современными инструментами статического анализа. я совсем не веду речи про ошибки логического уровня (логичное с точки зрения машины, но неожиданное с точки зрения человека поведение)
посему и последний тег в топике.
1024-- 07.02.2015 22:40 # 0
> null, пустой строки, 0, NaN
> все обильнее ловятся современными инструментами статического анализа
Может, в этом и дело? Пока Вы писали огнеупорный код на жс и делали вручную то, что мог сделать статический анализ, хаскелепитушки размякали, полагались на конпелятор, не укрепляли тылы и не были подготовлены к такому раскладу.
Lure Of Chaos 07.02.2015 22:48 # +1
впрочем, тогда и программы были меньше и проще, у нас не было многопоточности и почти что не было асинхронности (т.е. она формально была, но мы ее не замечали), у нас не было построения интерфейсов в браузерах и мвц на жс и компиляторов в интерпретируемые языки.....
1024-- 07.02.2015 22:51 # +2
http://cs425322.vk.me/v425322176/15a1/Ugdcp8r-6Us.jpg
Elvenfighter 10.02.2015 00:44 # 0
wvxvw 07.02.2015 22:34 # +1
Lure Of Chaos 07.02.2015 22:43 # 0
wvxvw 07.02.2015 23:16 # 0
Нет, там вообще пиздец какой-то, просто даже количество скобок и кавычек не сходится. Наверное все-таки последнию скобку и кавычку нужно поменять местами.
wvxvw 07.02.2015 23:22 # 0
Fike 07.02.2015 23:05 # 0
Fike 07.02.2015 23:09 # 0
Dummy00001 08.02.2015 14:53 # 0
для скриптов которы под рутом крутятся, нужно быть как минимум параноидальным.
`set -e` по минимуму. иногда `set -o pipefail` и `set -u`.
`set -e` должен был отловить обломавшийся `cd`.
ЗЫ ну да Steam еще только в зачатке. им простительно.
Elvenfighter 10.02.2015 00:41 # 0
Не совсем. cd $(dirname $0) && echo $PWD -- напечатает каноничный абсолютный путь к директории.
wvxvw 10.02.2015 01:08 # 0
CupuucKuu_nemyx 01.11.2019 00:34 # 0
CupuucKuu_nemyx 01.11.2019 00:38 # 0