Тут нада чота умное напейсать! Шоб сказал, как отрезал! Но чота ничо не приходит вголову, сцуко (( :D
Короче, камрады, записал я бильярдные партии в текстовый файлик и решил статистику подсчитать. И это легко оказалось сделать с помощью grep, sed, wc -l и т.д. вписывая полученные результаты в LibreOffice Calc.
Ну и тогда я подумал, неплохо бы, чтобы это автоматически получалось - команды я все уже знаю, надо токо их все в баше собрать...
Бляяя, какой же это оказался пиздеееец! читать дальше
И вот стал искать статью - подтверждение моим словам. Нашёл не совсем то, что хотел. pikabu.ru/story/stoit_li_izuchat_bash_5088844
И там есть ещё такой коммент, от которого у меня подгорело:
«понимать [баш-скриптинг] стоит в любом случае так как в большинстве случаев знание баша = знанию линукс систем.»
Господи, клоуны, откуда вы такие берётесь? читать дальше
Ну и тогда я подумал, неплохо бы, чтобы это автоматически получалось - команды я все уже знаю, надо токо их все в баше собрать...
Бляяя, какой же это оказался пиздеееец! читать дальше
И вот стал искать статью - подтверждение моим словам. Нашёл не совсем то, что хотел. pikabu.ru/story/stoit_li_izuchat_bash_5088844
И там есть ещё такой коммент, от которого у меня подгорело:
«понимать [баш-скриптинг] стоит в любом случае так как в большинстве случаев знание баша = знанию линукс систем.»
Господи, клоуны, откуда вы такие берётесь? читать дальше
А вот нафига ты решил мешать спагетти вилами, я никак не пойму. Если у тебя есть Calc, то пусть он автоматически и считает, он создан для того, чтобы подводить статистику!
Ну, Calc не очень хорошо подходит под обработку последовательностей. Т.е. если у тебя файл, в котором идут записи "начало-тело-конец". Вот если просто список чего-то, тогда да.
Спагетти вилами решил, потому что есть целая куча книжек по шелл-скриптингу, где афтары уверяют, шо программировать в баше это круто и всё такое.
ничо не знаю про expr
я б написал echo $((600/8))
Это действительно круто, и программмировать на Ассемблере тоже круто, вопрос, нахрена?
Т.е. если у тебя файл, в котором идут записи "начало-тело-конец".
Я подумала, что у тебя просто таблица, для которой ты подсчитываешь статистику, не?
я б написал echo $((600/8))
Это наверное из новых веяний-башизмов, типа ` ` вместо [ ] при проверке условия. да? Ну вот, теперь тоже буду знать.
видимо, олдфагов отправил в жопу составитель туториала, который я читал
про $((...)) там было, а про expr не было
Я программировал на ассемблере и на баше теперь. Ассемблер простой и строгий езыг, на нём можно написать всё, что угодно (в отличие от), реализовать любые алгоритмы, любые структуры данных (в отличие от) - в этом плане программирование на ассемблере не сильно отличается от языков типа С, Паскаля и прочих императивных. Нет типов данных. Но когда пишешь на ассемблере, ссышь кипятком. У него есть своё характерное... не знаю, как описать. Свой шарм, так сказать )) Там понятно, что, куда и почему.
А на Баше это какое-то дрочево получается. Пишешь туеву хучу каких-то кавычек, скобочек и хер знает, как это он всё проинтерпретирует. Слава яйцам, есть параметр bash -x - с ним многое становится понятнее.
Ассемблер оформлен весь в едином стиле - там понятно: это у нас директивы, это команды, это операнды.
Баш это какая-то помойка наваленных друг на друга культурных слоёв. Сначала мы делали так [ ], теперь мы бум делать так ` `, а ещё вот так &>> - пойди запомни всю эту хуйню. Когда запомнишь, они придумают [ [ [ ] ] ], если уже не придумали. Были попытки сделать другую оболочку - zsh, ksh, pdksh и прочие *sh, но они получились такой же монструозной хуетой. Видимо, моск юнексоида так устроен
В экзаменах LPIC-1 & Linux+ эта команда была. Также были малоиспользуемые
paste, join, column, col
ещё вот недавно узнал fold
Токо не говори, шо ты и их не знаешь
Ну я кстати их не использую ни хера и ничего - живу прекрасно.
Ещё есть такая херня >>> - тоже нужна очень редко
чозахрень?
ни у меня в линуксе (man bash),
ни на сайте (linux.die.net/man/1/bash)
нет описания опции -x
Это типа как трассировка. Ну набери bash -x ТвойСкрипт.sh - он те каждую команду выведет, чему там параметры равны были и т.д.
а это что?
В Гугле посмотри подробнее. Это ораклисты часто юзают в своих скриптах. Передаёт строку в стороннюю программу.
Во смотри, чо я нашёл, там отличный пример askubuntu.com/questions/678915/whats-the-differ...
вот пример bc <<< 5*4 (а bc знаешь чо такое? - консольный калькулятор
просто написать в скрипте bc 5*4 нельзя, т.к. он не ждёт операнды в аргументах команды, а ждёт токо со стандартного ввода, когда запустится, поэтому bc <<< 5*4 введёт ему 5*4, когда он запустится.
Ещё крутой пример вот
bc << EOF
5*4
2*3
EOF
<< Это значит нижеследующий текст передаётся в программу bc, пока не будет передан символ, идущий за << (в данном случае EOF - оно встречается чаще всего. Хер знает, передаётся там три буквы или прям единым символом, не суть)
Короче, bc последовательно посчитает и выведет на стандартный вывод, а потом управление передаётся скрипту.
Такая штука используется например, если тебе нужно с модема подключиться куда-то или в консоль Веблоджика какого-нить или базы данных подключиться и передать туда свои команды на языке уже Веблоджика или MySQL, а потом получить результат и вернуться в скрипт. Можешь прям в консоли это выполнить - скрипт писать не надо. Эта хрень называется here-document - встроенный документ. А предыдущее было here-string.
Во скоко всякой хуйни! А они продолжают ещё придумывать и придумывать!
< < - process substitution эт я не знал, кстати. (и хорошо!) Это bashism. В чистом виде. А те, кто его используют - выходит, башисты
Короче, ну нах этих красноглазых, а то этак сам красноглазым станешь!
В Гугле посмотри подробнее.
в том и прикол, что гугл не знает что такое >>>
получается, что ты самого гугла подавил интеллектом
а оказалось, что ты просто путаешь право и лево )))
Да пох, тебе всё равно это скорее всего не пригодится. Ну и мож для >>> скоро тоже найдут какое-нибудь применение, а ты его уже знаешь! Бинго! %)
какое? записать вывод команды в переменную?
Ну тут согласна, хотя я воообще имела в виду, что каждый язык для своей цели.