Sergio, Гит под капотом юзает много gnu tools, таких как sed, diff и др.
И регулярный вызов множества утилит в пайпе под линуксом работает быстрее чем под виндой.
Ну так синтаксис - интуитивен и понятен.
А вот использование команды, где предплоложительно должен быть expression, а вы его там не указываете - не интуитивно и некорректно.
Я понял, что уже придираетесь к мелочам, вместо сути.
в первом случае у вас собственно нету expression вообще, то есть false, но вы делаете !, поэтому все верно - НЕ экспрешин вернет тру
во втором у вас есть выражение - 1, просто 1. Это саксесс, но вы делаете ему инверсию !, поэтому фалс.
Даже без консоли все интуитивно.
А теперь самое интересное.
Это не относится к башу. Оператор тест впоследствии встроили в оболочки, но это отдельная утилита, родившаяся еще во времена unix-лайк систем и относится к GNU tools
Поэтому какие претензии к баш? Вы еще синтаксис awk поругайте, что это баш.
1. Питон - универсальный язык. Хочешь скрипты, хочешь бэкенд, хочешь - прикладные библиотеки на любой вкус и цвет, особенно что-то с телеграм, АИ. парсингом.
2. На питон просто полным полно материалов с картиночками на любой вкус и цвет.
Просто в свое время бейсик и паскаль устарели, и когда выбирали что больше всего подходит для обучения в школе - Питон выглядел лучше на фоне других языков.
До питона там властвовал перл, вообще-то.
Баш - нишевый язык оболочки. Он всегда будет лидировать в администрировании, а не в программировании. Основное назначение баш - вызов внешних программ, именно там он и проявляется на отлично. В баше нет библиотек. Вместо этого есть вся мощь GNU Tools и любых внешних программ.
Например программы /bin/[, синтаксис которой вам показался неинтуитивным.
ага, пример контринтуитивности.
То есть?
Вы проверили что 0.
Ну окей, 0 и есть 0. Вы его ни с чем не сравнивали. Команда test выполнилась успешно, ибо синтаксически конструкция верна.
Можно было написать if true, было бы тоже самое. В линуксе 0 - это почти всегда был true.
hint000, нужно все таки понимаьт в чем разница между stdout и exit code
Ни в одной операционной системе нельзя вернуть строку в качестве exit code, это архитектурно один байт, при котором 0 это успех, не ноль это ошибка.
А что там в stdout возвращается - это еще тестить надо.
Таким образом можно проверить вот так
Попробуй же собственный код - он тупо не будет работать. Есть пинг или нет пинга, будет возвращать успех, потому что возврат из функции в bash - это exit code
hint000, эм, это не возвращаемое значение функцией, это просто вывод единицы в stdout
У вас же, получается что из-за echo 1, последняя команда будет echo, которая успешно выполнется, и в консоль напишет 1, а код возврата будет 0.
а вернуть значение - return 1, но зачем, и так вернется код последней выполненной команды (ping)
Saboteur
@saboteur_kiev Куратор тега Компьютерные сети
вот это я и имею ввиду, куда именно заводить провода от камер - в "серверную" иди в комнату охраны
Если локальные розетки в кабинетах могут переезжать, или вообще планируется делать какие-то ремонты в помещениях со сдвигом стенок, то лучше делать так - от серверной к примерному помещению проложить жгут кабелей, под фальшпотолок, там сделать патчпанель и развести.
А в самом кабинете уже наделать розеток и довести до патчпанели.
Плюс в том, что можно оперативно будет от патч-панели "добавить" или "убавить" розетки в кабинете, и в случае глобальных ремонтов с разделением кабинетов или объединением, можно будет смело подвинуть розетки на месте и от патчпанели быстро довести, а не скручивать то, что пришло аж из серверной.
Saboteur
@saboteur_kiev Куратор тега Компьютерные сети
В принципе практически все правильно.
Единственное что 20 камер - возможно имеет смысл заводить их не в серверную, а сразу в помещение охраны, чтобы трафик через серверную не гонять.
Тут больше зависит от того, покупаете готовое решение для мониторинга или просто камер своими руками натыкать.
Но на самом деле здание маленькое, можно и так и так. Лучше на месте решить как это должно в конечном результате выглядеть (если будет интегратор, с ним решить)
В юниксах по-разному. OpenBSD в 2014 году еще перешли на 64-битный.
Надо смотреть что за ОС, что за архитектура. В принципе думаю что до 2038 года мало останется железа и софта с 32-битным таймстампом