|
2.17, Жироватт (ok), 12:41, 27/12/2022 [^] [^^] [^^^] [ответить]
| +2 +/– |
Да в принципе для всех нужная, но не необходимая.
Ошибается даже самый маститый гуру консоли, особенно с недосыпу или в цейтноте.
| |
|
|
4.106, анонна (?), 21:05, 27/12/2022 [^] [^^] [^^^] [ответить]
| +4 +/– |
но он позволит создавать скрипты не подверженные опасным ошибкам. я вообще удивляюсь как никому в голову не пришло создать такой инструмент раньше. это же по сути анализ текста и сверка его с правильным шаблоном(хотя и несколько сложнее). кстати в си и с++ такой анализатор был бы просто спасением в свое время. хотя если с си это можно сделать, то с плюсами куда сложнее. там столько напихали в язык и продолжают пихать, что это окажется той еще задачкой.
| |
|
5.123, Аноним (123), 09:23, 28/12/2022 [^] [^^] [^^^] [ответить]
| +/– |
>я вообще удивляюсь как никому в голову не пришло создать такой инструмент раньше
Раньше -- это когда? Shellcheck сто лет в обед.
>то с плюсами куда сложнее.
Сложнее, и тем не менее, cppcheck, clang-check, и ещё какие-то есть.
| |
|
6.143, анонна (?), 20:53, 28/12/2022 [^] [^^] [^^^] [ответить]
| +/– |
способны ли они в с++ разобраться вот вопрос. там слишком много подводных камней))
| |
|
|
4.130, Аноним (130), 13:14, 28/12/2022 [^] [^^] [^^^] [ответить]
| +/– |
У так называемых программистов, не знающих что такое шина адреса и шлепающих формы на скриптухах для верстальщиков типа java, их нет и не может быть.
| |
|
|
2.26, Аноним (26), 13:08, 27/12/2022 [^] [^^] [^^^] [ответить]
| –7 +/– |
>Код проекта написан на языке Haskell
Но практически бесполезно. Ни GNU Haskell, ни gcc-haskell не наблюдается.
| |
|
1.2, Аноним (2), 12:09, 27/12/2022 [ответить] [﹢﹢﹢] [ · · · ]
| +4 +/– |
Титаническая программа! От всей этой шелл-лапши никуда не деться, поэтому такой анализатор должен быть очень полезен.
| |
|
2.32, анон (?), 13:29, 27/12/2022 [^] [^^] [^^^] [ответить]
| –1 +/– |
Всегда считал, что вместо systemd надо было вложиться в такой анализатор или генератор скелета скриптов.
| |
|
3.35, Аноним (35), 13:43, 27/12/2022 [^] [^^] [^^^] [ответить]
| +3 +/– |
и как ты на башпортянках реализуешь асинхронщину и параллельный взаимозависимый запуск служб? да ты споткнешься уже на простейшей задаче "дождаться, когда ядро обнаружит /dev/sda" (нет, делать по таймеру проверку на существование /dev/sda -- это не верное решение)
| |
|
4.46, Random (??), 14:37, 27/12/2022 [^] [^^] [^^^] [ответить]
| +3 +/– |
Никогда до systemd не встречал ситуации, что система не может стартовать, хотя бы и в неполном виде, из-за того, что не может чего-то дождаться.
| |
|
5.57, Аноним (-), 14:59, 27/12/2022 [^] [^^] [^^^] [ответить]
| +1 +/– |
Даже кернел так то умеет параметр rootwait. Догадаешься почему? А так то ты видимо еще много чего не встречал.
| |
|
|
7.68, Роман (??), 16:05, 27/12/2022 [^] [^^] [^^^] [ответить]
| +/– |
Например ваш raid массив на 48 дисков инициализируется не мгновенно и root device таким образом недоступен если не подождать
| |
|
8.74, 1 (??), 16:28, 27/12/2022 [^] [^^] [^^^] [ответить] | +2 +/– | А потом что-то пошло не так и система не загружается никогда И Ctrl C не нажа... текст свёрнут, показать | |
|
9.96, Аноним (-), 18:56, 27/12/2022 [^] [^^] [^^^] [ответить] | +/– | Вообще-то один из пойнтов RAID это сделать что-то пошло не так более редким яв... текст свёрнут, показать | |
|
|
7.97, Аноним (-), 19:02, 27/12/2022 [^] [^^] [^^^] [ответить]
| +/– |
> Объясните пж не шарящиму, что это за зверь?
Ждет появления девайса(-ов) с рутфс чтобы смонтировать оный. В зависимости от конфигурации устройство на котором рутфс размещена может появиться и заметно после момента когда кернел уже был технически готов init пытаться запускать "сам по себе". Если кернел попытается инит запустить и не найдет его - он довольно крепко на это дело обижается. А вот так - пожалуйста, потуповэйтит появления нужного устройства вместо того чтобы сразу обижаться на отсутствие инита.
Мало ли, разным железкам разное время на инициализацию надо. А старт с initrd это не единственный возможный вариант. Можно и без initrd стартовать.
| |
|
|
|
4.58, анон (?), 15:00, 27/12/2022 [^] [^^] [^^^] [ответить]
| +9 +/– |
> реализуешь асинхронщину и параллельный взаимозависимый запуск служб
А оно надо? Там выйгрыш ничтожно мал, если раскрутка только дисков занимает минут 5 на сервере, что мне с миллисекунд победы?
Даже на домашнем пк можно сделать systemd-analyze blame и обалдеть, как все плюсы системды разбиваются об ожидание mount или dhcp.
А еще мое любимое при выключении, Waiting for process: "Дохлый недоеденный енот" .. 1s / 10min
| |
4.75, Аноним (75), 16:38, 27/12/2022 [^] [^^] [^^^] [ответить]
| +/– |
> да ты споткнешься уже на простейшей задаче "дождаться, когда ядро обнаружит /dev/sda"
Ты в курсе, что pid=0 запускается, когда ядро уже загружено и все проинициализировало. Типичный фанат поттеринга.
| |
|
5.85, Аноним (35), 17:24, 27/12/2022 [^] [^^] [^^^] [ответить]
| +2 +/– |
> pid=0 запускается
Ты в курсе, что процесса с pid=0 не существует? Типичный критикан системд.
> ядро уже загружено и все проинициализировало
И кто же это все проинициализировал? Да ядро даже /dev тебе не подключит, пока явно не попросишь или не выставишь соответствующий конфиг перед компиляцией. (Спойлер: дистрибутивные ядра его не выставляют.) В общем критикан системд дважды грубо ошибся в одном предложении. "Это уметь надо!"
| |
|
6.98, Аноним (-), 19:05, 27/12/2022 [^] [^^] [^^^] [ответить]
| +3 +/– |
> Ты в курсе, что процесса с pid=0 не существует? Типичный критикан системд.
Вроде в его роли ядерный тред выступает. Который потом 1 создает и инит.
>> ядро уже загружено и все проинициализировало
> И кто же это все проинициализировал?
Он видимо из позапрошлого века пишет и продолбал момент когда ядро так то стало довольно асинхронным кроме всего прочего, в том числе и по инициализации железа.
> В общем критикан системд дважды грубо ошибся в одном предложении. "Это уметь надо!"
Малацца, анон. Я вон тут поху мастеркласс насчет самбы дал, точнее ksmd. Букмарки иногда апдейтить надо, фигли.
| |
|
|
4.182, freehck (ok), 16:45, 02/01/2023 [^] [^^] [^^^] [ответить]
| +/– |
> и как ты на башпортянках реализуешь асинхронщину и параллельный взаимозависимый запуск служб?
Ну так пойди и посмотри, как оно в Debian было сделано. И стартовало, между прочим, быстрее, чем стало после внедрения systemd.
| |
|
3.118, Аноним (2), 01:18, 28/12/2022 [^] [^^] [^^^] [ответить]
| +/– |
> Всегда считал, что вместо systemd надо было вложиться в такой анализатор или
> генератор скелета скриптов.
А я вот не считаю, что шелл-лапша -- это лучшее решение для процесса загрузки. Но и жирный, переусложнённый systemd (который к тому же всё хочет замкнуть на себя, эдакий вендорлок) -- тоже плохое решение. В идеали видится что-то простое и быстрое, которое решает только одну нужную задачу. В целом, такие проекты есть, но не снискали особой популярности.
| |
|
|
1.4, Анонус (?), 12:12, 27/12/2022 [ответить] [﹢﹢﹢] [ · · · ]
| +7 +/– |
>отсутствие пробелов при сравнении "[[ $foo==0 ]]", наличие пробелов "var = 42"
Хороший язык, продуманный. Консистентный, я бы сказал.
| |
|
|
Часть нити удалена модератором |
3.8, Аноним (1), 12:24, 27/12/2022 [^] [^^] [^^^] [ответить]
| +/– |
у раста по части памяти всё хорошо в сравнении с дедовыми плюсами, ведь она у него не течёт как у ски в месячные
| |
|
|
|
6.40, burjui (ok), 14:02, 27/12/2022 [^] [^^] [^^^] [ответить]
| +1 +/– |
Как и всех остальных -манов на этом ресурсе, что очевидно из всей демагогии в комментариях под любой новостью о Rust, да и не только. Настоящих спецов здесь крайне мало, будь то растоманов, сишников, приплюснутых, скорлупщиков и т.д. Рассадник самоуверенной школоты, короче. Сам не знаю, зачем читаю комментарии и отвечаю на них, но от детерминизма не убежишь.
| |
|
7.54, Аноним (-), 14:58, 27/12/2022 [^] [^^] [^^^] [ответить]
| –2 +/– |
>Сам не знаю, зачем читаю комментарии и отвечаю на них
Потому что ты сам считаешь, что удобненький язычок с удобненьким пакетным менеджером научит тебя кодить.
| |
|
8.63, burjui (ok), 15:41, 27/12/2022 [^] [^^] [^^^] [ответить] | –1 +/– | Я считаю, что кодить меня научит только практика, чем я и занимаюсь Я больше не... большой текст свёрнут, показать | |
|
9.110, Аноним (-), 22:29, 27/12/2022 [^] [^^] [^^^] [ответить] | +1 +/– | Гораздо выразительней этой стены текста с саморекламой говорят сами за себя выпа... текст свёрнут, показать | |
|
|
|
|
|
|
|
|
|
|
|
Часть нити удалена модератором |
20.169, burjui (ok), 15:00, 29/12/2022 [ответить] | –2 +/– | Вот мне интересно, ты и правда настолько глуп, или просто притворяешься, что не ... большой текст свёрнут, показать | |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
4.28, Аноним (26), 13:13, 27/12/2022 [^] [^^] [^^^] [ответить]
| –2 +/– |
Ещё как у Раста течёт. Этож способ защиты от use-after-free.
| |
4.33, анон (?), 13:30, 27/12/2022 [^] [^^] [^^^] [ответить]
| +6 +/– |
Я бы рассказал шутку про раст, но она не поместится в стек.
| |
|
5.67, burjui (ok), 15:53, 27/12/2022 [^] [^^] [^^^] [ответить]
| –1 +/– |
Я бы рассказал шутку про C, но Й№28(%3?*№3Х{>?5ц
Segmentation fault
| |
|
|
7.146, burjui (ok), 21:52, 28/12/2022 [^] [^^] [^^^] [ответить]
| –4 +/– |
Ой-ой-ой, синяки обиделись и накидали минусов, а теперь ещё и вяло петросянят об этом, я расстроен до глубины ноздри. По твоей логике, вы сами-то даже думаете в одном большом unsafe блоке, что объясняет качество ваших антирастовых шуток: гага в расте стек переполнен (сказал пользователь языка, популяризовавшего термин stack overflow, лол), гага растоманы (шутки про наркотики всегда актуальны среди зрителей Камеди кала).
| |
|
|
9.150, burjui (ok), 22:19, 28/12/2022 [^] [^^] [^^^] [ответить] | –1 +/– | То есть, ты сейчас подтвердил, что 90 комментаторов про Rust - ненормальные, по... текст свёрнут, показать | |
|
|
|
|
|
|
|
|
1.6, Аноним (6), 12:18, 27/12/2022 [ответить] [﹢﹢﹢] [ · · · ]
| –2 +/– |
Нужен новый shell, безопасная работа с памятью которого обеспечивается во время компиляции через проверку ссылок, отслеживание владения объектами и учёт времени жизни объектов (области видимости), а также через оценку корректности доступа к памяти во время выполнения кода. Также предоставляет средства для защиты от целочисленных переполнений, требует обязательной инициализации значений переменных перед использованием, лучше обрабатывает ошибки в стандартной библиотеке, применяет концепцию неизменяемости (immutable) ссылок и переменных по умолчанию, предлагает сильную статическую типизацию для минимизации логических ошибок.
| |
|
2.7, Анонус (?), 12:22, 27/12/2022 [^] [^^] [^^^] [ответить]
| –1 +/– |
> Нужен новый shell, безопасная работа с памятью которого обеспечивается во время компиляции
> через проверку ссылок, отслеживание владения объектами и учёт времени жизни объектов
> (области видимости), а также через оценку корректности доступа к памяти во
> время выполнения кода. Также предоставляет средства для защиты от целочисленных переполнений,
> требует обязательной инициализации значений переменных перед использованием, лучше обрабатывает
> ошибки в стандартной библиотеке, применяет концепцию неизменяемости (immutable) ссылок
> и переменных по умолчанию, предлагает сильную статическую типизацию для минимизации логических
> ошибок.
Нужен. Например на Lua.
| |
|
3.10, Аноним (10), 12:37, 27/12/2022 [^] [^^] [^^^] [ответить]
| –1 +/– |
Идеальный вариант!
Самый быстрый некогда интерпретатор. Достаточно пластичный и мощный язык.
На фоне баша, ему можно простить даже кривость инопланетного синтаксиса.
Есть ли варианты, вроде IPython и Xonsh?
| |
|
4.14, Аноним (14), 12:39, 27/12/2022 [^] [^^] [^^^] [ответить]
| +2 +/– |
Язык хороший, но в качестве замены шелла не взлетит. Замена шеллу - это перл. Нравится вам это или нет. И это уже 30 лет так.
| |
|
5.16, Аноним (10), 12:41, 27/12/2022 [^] [^^] [^^^] [ответить]
| –1 +/– |
Есть ли у перла варианты типа Xonsh?
Perl конечно... так себе замена то. Вот это видеть ГА;) К*Г)*а4гн8кн82 вместо [[ $RE -gt 2 ]]
| |
|
4.15, Аноним (10), 12:40, 27/12/2022 [^] [^^] [^^^] [ответить]
| –1 +/– |
Кривой баш, в любом случае, давно уже требует замены. Привыклю корячиться буквой зю, и ничего не меняется. Школьники уже даже умудряются боготворить его идеальность.
| |
|
5.22, Аноним (22), 12:47, 27/12/2022 [^] [^^] [^^^] [ответить]
| +2 +/– |
Баш ужасен, и с этим не поспоришь, но позикс шелл с bsd-шными coreutils ещё хуже — там потенциал выстрелить себе в ногу на два порядка выше
| |
|
6.24, Аноним (10), 12:54, 27/12/2022 [^] [^^] [^^^] [ответить]
| +/– |
Суть в том, что баш это очень кривая подпорка, на сегодняшний день.
Люди делают его замены, меньшей кровью. Успешно. Оболочка ZSH недалеко ушла, но куда удобней.
Fish ушел еще дальше и боли меньше. Но концептуально, на претендента замены подходят лишь IPython и Xonsh.
Т.е. люди это осознают давно уже и даже есть вариант - пайтон в основе.
Интересно, пробовал ли кто-то луа.. люди на реддите очень хотят луа на этом месте видеть. И даже есть интересные варианты использования. Но по существу, воз и ныне там.
| |
|
7.27, Аноним (22), 13:08, 27/12/2022 [^] [^^] [^^^] [ответить]
| +/– |
Проблема в том, что эта подпорка есть везде. Может быть когда-нибудь, лет эдак через -цать, когда питон станет главной зависимостью во всех линуксах, люди начнут перебираться на шелл на основе него, а пока — скрипты для пакетов будут писаться на sh с пригоршней башизмов, клей в Dockerfile будет писаться на sh с привкусом смузи и томатного гозе и весь мир будет прилаживать костыли и подпорки к получившейся хтони
| |
|
|
|
|
|
|
3.31, амоним (?), 13:22, 27/12/2022 [^] [^^] [^^^] [ответить]
| –3 +/– |
вот кстати, отличное решение. есть команды - согласен. и вывод, в json есть. который всегда можно распарсить, не непонятными регулярными выражениями, которые разваливаются на ходу, а нормальным json парсером, получить те данные которые нужно и проч.
единственная проблема - родные системные утилиты не дают выхлоп в таком формате.
а башем, парсить строковый вывод - это про времена, когда всю ось мог написать один Линус. а сегодня - это про мазохизм.
| |
|
4.39, Аноним (39), 13:57, 27/12/2022 [^] [^^] [^^^] [ответить]
| +6 +/– |
пожалуйста, изложите свои мысли в виде json-а а то вас трудно парсить
| |
|
|
2.21, Жироватт (ok), 12:47, 27/12/2022 [^] [^^] [^^^] [ответить]
| +2 +/– |
Нужен новый шелл-ланг, который как %хайповый_язычок%, но другой.
Под новый шелл-ланг нужен новый интерпретатор, мегабайт на сто, как МощныйРакушка.
Под новый интерпретатор нужно новое системное окружение, где он *сможет_раскрыть_потенциал*.
Под новое окружение нужны новые принципы создания аварийных и удаленных оболочек, чтобы юзер не умер в чистом sh.
...
| |
|
1.12, Аноним (14), 12:38, 27/12/2022 [ответить] [﹢﹢﹢] [ · · · ]
| –1 +/– |
Попытки из шелла и скриптовых языков делать что-то квазитипизированное - это клиника.
На шелле не надо программировать. Он не для этого. В юникс даже не обязательно писать на скриптовых языках. Вас никто не заставляет использовать инструменты, с мощью которых вы не можете справиться.
| |
|
2.25, Аноним (22), 13:02, 27/12/2022 [^] [^^] [^^^] [ответить]
| +/– |
Если шелл не для того чтобы программировать, то почему в System V на нём писали программы?
| |
|
|
4.36, Аноним (22), 13:50, 27/12/2022 [^] [^^] [^^^] [ответить]
| –1 +/– |
Я не готоврю про sysVinit. Я говорю про AT&T UNIX System V. diff3, spell, basename, uuto, dirname, man, install и многие другие команды написаны на shell.
| |
|
5.51, Аноним (39), 14:55, 27/12/2022 [^] [^^] [^^^] [ответить]
| +/– |
>diff3, spell, basename, uuto, dirname, man, install и многие другие команды написаны на shell.
все перечисленные тобой утилиты написаны на Си
| |
|
6.66, Аноним (-), 15:47, 27/12/2022 [^] [^^] [^^^] [ответить]
| +/– |
В этом юниксвэй и состоит: объединять быстрые эффективные кирпичики вон тем координатором через пайпы. А то что народ из инструмента для glue-логики зачем-то временами чуть не мегаприложухи пытается, так что сабж требоваться начинает - бывает и такое, конечно.
| |
|
7.71, Ноня (?), 16:18, 27/12/2022 [^] [^^] [^^^] [ответить]
| +/– |
>А то что народ из инструмента для glue-логики зачем-то временами чуть не мегаприложухи пытается
Так выходит же - почему не пытаться?
| |
|
8.99, Аноним (-), 19:10, 27/12/2022 [^] [^^] [^^^] [ответить] | +/– | Ну да, а у другого тут выходит видео блендером редактировать Можете попробовать... текст свёрнут, показать | |
|
9.140, Ноня (?), 19:01, 28/12/2022 [^] [^^] [^^^] [ответить] | +/– | Когда это блендер и автокад стали универсальными инструментами навроде шелла ... текст свёрнут, показать | |
|
|
11.181, Ноня (?), 22:42, 01/01/2023 [^] [^^] [^^^] [ответить] | +/– | Какой есть, универсальней особо нет Язычок для управления программ, внезапно на... текст свёрнут, показать | |
|
|
|
|
|
6.91, Аноним (22), 18:10, 27/12/2022 [^] [^^] [^^^] [ответить]
| +/– |
Не в System V. Значит всё же он изначально и задумывался для программирования утилит
| |
|
|
|
|
2.44, Ноня (?), 14:16, 27/12/2022 [^] [^^] [^^^] [ответить] | +/– | Только в том случае, если накладывание типов не тащит за собой контракты тут мо... большой текст свёрнут, показать | |
|
3.45, ПАНК программист а не кодер (?), 14:36, 27/12/2022 [^] [^^] [^^^] [ответить]
| +/– |
Всё-то, может, и по делу, и верно, но только суть баша от этого не меняются: встратый синтаксис, несколько слоёв expansion-ов, shopt-магия и так далее. Баш, может быть, мощный инструмент, хороший инструмент, но точно не удобный или современный инструмент, о чём тут спорить вообще.
| |
|
4.69, Аноним (-), 16:14, 27/12/2022 [^] [^^] [^^^] [ответить]
| +/– |
>синтаксис
Годный синтаксис у обычного шелла, что надо умещает получше любого питона, про башизмы тебе не отвечу.
>несколько слоёв expansion-ов, shopt-магия
Да наплевать. Наквотил разик, запомнил и забыл. Больше двух уровней обратных кавычек редко бывает. Из опций только трассировка и может быть полезной в основном, ну -e плюс-минус, магии в этом нет.
>не удобный
busybox ash делает бррррр, работа делается, что ещё надо? Даже репл есть.
>или современный
Т.е. знания шелла не обесцениваются. Это наоборот плюс.
| |
|
5.162, Прохожий (??), 09:43, 29/12/2022 [^] [^^] [^^^] [ответить]
| –1 +/– |
>Годный синтаксис у обычного шелла
Гов-ный там синтаксис. Ты хоть статью почитай, что ли. Пробел лишний поставил - уже проблему получил. Не поставил - снова проблема. Что здесь может быть хорошего?
>что надо умещает получше любого питона
Нихрена обычный шелл толком не умеет, особенно без утилит, типа awk, grep, sed, find, tr, basename, dirname и прочих.
У каждой такой утилиты, понятное дело, свой мозговыносящий синтаксис,что тоже никак не добавляет читабельности программ на шелле.
| |
|
6.171, Аноним (171), 23:02, 30/12/2022 [^] [^^] [^^^] [ответить]
| +/– |
Хорошего здесь то что с таким синтаксисом ты можешь делать присвоение прямо в команде:
foo=123 proga
Если разрешить пробелы при присвоении будет неоднозначность.
| |
|
|
|
|
|
1.23, Аноним (23), 12:48, 27/12/2022 [ответить] [﹢﹢﹢] [ · · · ]
| –2 +/– |
Настоящими программистам все эти проверки не нужны, они нужны только всяким там, которые даже язык не знают на котором пишут
| |
|
2.42, burjui (ok), 14:06, 27/12/2022 [^] [^^] [^^^] [ответить]
| +3 +/– |
Есть одна проблема с вашим определением термина "настоящий программист": таких не существует. Нет и не было за всю историю человечества ни одного индивида, который бы не совершал ошибок. Конечно, если это мелкий одноразовый скрипт для не слишком важной ерудны, то цена ошибки настолько мала, что можно обойтись и без статического анализатора. Но если он уже есть, не пользоваться им - безумие.
| |
2.49, Ноня (?), 14:45, 27/12/2022 [^] [^^] [^^^] [ответить]
| +/– |
Так там одна часть в рекламке шеллчека так и гласит: ищут ошибки новичков, и шоб никаких криптик мессаджес!
| |
|
1.50, Аноним (-), 14:55, 27/12/2022 [ответить] [﹢﹢﹢] [ · · · ]
| –3 +/– |
> статического анализа shell-скриптов
Блин, если вам это понадобилось, вы что-то, вероятно, делали не так.
| |
1.60, Аноним (60), 15:08, 27/12/2022 [ответить] [﹢﹢﹢] [ · · · ]
| +/– |
У баша какие-то проблемы с совместимостью. Несколько лет всё прекрасно работало, а тут он в 5.2 фейлится на ?() в $() и надо теперь вместо $() использовать обратные кавычки. При этом, в синтетическом коде это не проявляется и надо было догадаться, где проблема.
| |
|
|
3.132, Аноним (60), 14:39, 28/12/2022 [^] [^^] [^^^] [ответить]
| +/– |
Да, я тоже думал проблема может быть в другом месте, но она именно тут (похоже, дело именно во вложенной ?(), но если с ней что-нибудь сделать, glob не будет работать, как надо)
line 90: syntax error near unexpected token '('
shopt -s extglob
fname=$(shopt -s failglob;shopt -s nocaseglob;echo "${fname}"/?("${BASH_REMATCH[1]}")"${BASH_REMATCH[2]}${BASH_REMATCH[3]}"$pext)
[[ 0 -ne $? ]] && echo '#glob match failed' && exitnow
shopt -u extglob
До bash-5.2 всё было норм, 0 проблем с файлами. Этот скрипт генерирует страничку для веббраузера, и в один прекрасный день он просто перестал это делать(
| |
|
4.163, швондер (?), 12:02, 29/12/2022 [^] [^^] [^^^] [ответить] | +/– | gt оверквотинг удален У меня ваш код работает ожидаемо в GNU bash, версия 5 1 ... большой текст свёрнут, показать | |
|
5.164, Аноним (60), 12:31, 29/12/2022 [^] [^^] [^^^] [ответить]
| +/– |
Нет, баш в генте 5.2 в тестовой ветке, не замаскирован. Я уже говорил, что в синтетическом примере не проявляется, поэтому нет смысла. Это была копия проблемного кода и я отдельно убедился, что дело именно в нём. Баш вообще не пытается исполнить этот файл, поэтому переменные никакого значения не имеют.
| |
|
6.173, швондер (?), 17:27, 31/12/2022 [^] [^^] [^^^] [ответить]
| +/– |
> Нет, баш в генте 5.2 в тестовой ветке, не замаскирован. Я уже
> говорил, что в синтетическом примере не проявляется, поэтому нет смысла. Это
> была копия проблемного кода и я отдельно убедился, что дело именно
> в нём. Баш вообще не пытается исполнить этот файл, поэтому переменные
> никакого значения не имеют.
не поленился, собрал локально 5.2 в хомовике, сделал минимальный сампл на базе вашего кода, накидал файликов под матч ?() - вижу пока одно и то же поведение как с системным 5.1, так и с bash-5.2/bash.
| |
|
|
6.172, швондер (?), 17:23, 31/12/2022 [^] [^^] [^^^] [ответить]
| +/– |
так у вас какая именно ошибка? Вижу две в вашем сообщении
1. некорректный синтаксис line 90 -это очень похоже на отключенный extglob
2. файл не находится
Если 2 это следствие №1, то это одна ситуация. Если №2 на одном и том же наборе файлов и минимальном пруфе работает по разному на разных версиях баша - это надо репортить.
Давайте запилим минимальный пруфик бага?
| |
|
7.174, Аноним (60), 21:11, 31/12/2022 [^] [^^] [^^^] [ответить] | +/– | Файл находится в 5 1 и не находится в 5 2 И при чём тут файл, если баш не пытае... большой текст свёрнут, показать | |
|
8.175, швондер (?), 12:23, 01/01/2023 [^] [^^] [^^^] [ответить] | +/– | gt оверквотинг удален вы не поверите, но этот код зависит от файлов, которые н... большой текст свёрнут, показать | |
|
|
|
|
|
|
|
1.72, Аноним (72), 16:18, 27/12/2022 [ответить] [﹢﹢﹢] [ · · · ]
| –1 +/– |
Они не могли придумать более оригинального названия? И как мне гуглить это и искать в репах?
| |
|
2.79, Аноним (-), 16:52, 27/12/2022 [^] [^^] [^^^] [ответить]
| –1 +/– |
От названия прямо-таки пахнет тем, что эти ребятки юниксом никогда не проникались. Ещё для бинго можно было бы домен .io зарегать.
| |
2.127, onanim (?), 11:01, 28/12/2022 [^] [^^] [^^^] [ответить]
| +/– |
$ cnf shellcheck
The program 'shellcheck' can be found in following packages:
* ShellCheck [ path: /usr/bin/shellcheck, repository: zypp (repo-oss) ]
* ShellCheck [ path: /usr/bin/shellcheck, repository: zypp (openSUSE-Tumbleweed) ]
Try installing with:
sudo zypper install ShellCheck
| |
|
|
|
3.114, Аноним (-), 23:17, 27/12/2022 [^] [^^] [^^^] [ответить]
| +/– |
Вот это и скажешь человеку, умеющему кодить на шелле, когда в очередной раз в слезах к нему обратишься с тем, что ты куда-то нажала и оно перестало запускаться, хорошо, дорогуша?
| |
|
|
1.88, Xasd8 (?), 17:37, 27/12/2022 [ответить] [﹢﹢﹢] [ · · · ]
| –2 +/– |
> а использование "echo {1..10}" будет выделено как несовместимое с dash и sh.
ох тыж! ды кому какое дело до этих dash и sh ?
| |
|
2.95, warlock66613 (ok), 18:55, 27/12/2022 [^] [^^] [^^^] [ответить]
| +1 +/– |
Тому кто хочет чтобы его скрипт можно было запустить? На нормальной системе, где нет места bash я имею в виду.
| |
|
3.141, Аноним (141), 19:16, 28/12/2022 [^] [^^] [^^^] [ответить]
| –1 +/– |
Такие системы называются легаси их всё меньше и меньше. Сегодня, если на операционной системе общего назначения не существует баша, это показатель её непригодности к промышленному использованию. Практика деплоев тому доказательством.
| |
|
|
|
2.90, Мононим (?), 18:10, 27/12/2022 [^] [^^] [^^^] [ответить]
| +/– |
А, да, ещё объект-ориентированности, статической типизации и обязательно всё на хрусте.
| |
|
1.101, Kirikekeks (ok), 19:33, 27/12/2022 [ответить] [﹢﹢﹢] [ · · · ]
| +/– |
Много лет выпущенная гуглем Salt bash записки на пипифаксе для меня прям настольный пипифакс. А анализатор, это хорошо, особенно когда свой забытый скрипт надо переделать. Тем более что спросить про bash стеснительно, как пёрнуть в обществе, а очень напрасно. Не любо не слушай, а врать не мешай. Я помню несколько ситуаций, когда высоколобые многомудрые девы реально готовы были потратить нехилые деньги на проблемы решаемые однострочником на баш. Да и гугловое руководство тоже похоже на "к вящему сожалению совсем без bash не получится, но хотябы делайте так, а?"
| |
1.107, EuPhobos (ok), 21:17, 27/12/2022 [ответить] [﹢﹢﹢] [ · · · ]
| –3 +/– |
Совет на скриншоте: "используйте bc или awk" просто "гениальный"..
"Не используйте встроенные фишки в интерпретаторе, лучше создайте ещё один процесс через конвейер и посчитайте в нём" - что за бред?
| |
|
2.111, Аноним (39), 23:05, 27/12/2022 [^] [^^] [^^^] [ответить]
| +1 +/– |
какие еще встроенные фишки для дробных чисел, ты о чем ?
n=3.6
if (( n > 3.5 )); then
echo $n
fi
даже сам bash-интерпретатор вылетает от такого кода:
строка 5: ((: 3.6 > 3.5 : ошибка синтаксиса: недопустимый математический оператор (неверный маркер «.6 > 3.5 »)
| |
2.112, Аноним (112), 23:06, 27/12/2022 [^] [^^] [^^^] [ответить]
| +/– |
на том же скриншоте написано, что шелл не умеет работать с дробями (а ash, dash, bash вроде как не умеют
| |
2.121, EuPhobos (ok), 08:32, 28/12/2022 [^] [^^] [^^^] [ответить]
| +/– |
Да, что-то я дроби не увидел сразу, подумал чекер даёт совет считать всегда в сторонних программах.
| |
|
|