Админам, пишущим на bash..
Прикол для очень внимательных и опытных писателей на bash.
Однаждыотец Онуфрий опытный админ написал кусок кода, обходящий окрестности онежского дерево каталогов, и стал его применять везде где ни попадя:
Скажите, собратия по написанию скриптов на bash и многих других шеллах - чего не хватает конкретно в выделенной полужирным строке, и почему? :)
UPD 2017-02-01 15:53 : пока из 6 участвующих в о[б|]суждении обнаружил "самую интересную" ошибку только один (в ирц, не здесь). :)
UPD 2017-02-01 19:05 : чтобы избавить данный вопрос от претензии "почему не find" - та же самая "недостача" в такой же выделенной строке скрипта вида:
Однажды
SqTree(){ [ -z "${1}" ] && return for i in *.html do [ -s "${i}" ] && (тут обработка строк файла, не важно какая) done for i in * do [ -d "${i}" ] || continue cd "${i}" SqTree "${1}" cd .. done }
Скажите, собратия по написанию скриптов на bash и многих других шеллах - чего не хватает конкретно в выделенной полужирным строке, и почему? :)
UPD 2017-02-01 15:53 : пока из 6 участвующих в о[б|]суждении обнаружил "самую интересную" ошибку только один (в ирц, не здесь). :)
UPD 2017-02-01 19:05 : чтобы избавить данный вопрос от претензии "почему не find" - та же самая "недостача" в такой же выделенной строке скрипта вида:
#!/bin/bash # Show subdirectory listing [ -z "$1" ] && return [ -d "$1" ] || return cd "$1" ls cd ..
no subject
no subject
Строка "cd .." ничуть не менее чревата боком, чем cd без проверки успеха. И в ней проверка успеха не поможет.
Ну и там по вкусу есть таракан с тем, что в директории, начинающиеся с ., оно забудет сходить. В зависимости от того, что именно подразумевается тобой, это может быть как фичей, так и багом.
no subject
но он не зависит от выделенной полужирным строки. :)