Вот теперь я вижу логику языка, спасибо. А когда после then вместо пробела разрыв строки, это больше похож на какую-то особую конструкцию языка чем на три команды с параметрами.
Вот сейчас Вы правы, я считал что bash позиционируется как "простой" язык. Если в реальности bash-скриптинг — это действительно более ребусы, чем продуктивность, то да, лучше на том же питоне писать (лично я так и делаю). Но все-таки, мне всегда казалось что я что-то упускаю… Ведь именно bash является стандартной оболочкой всех современных линуксов. Создаётся впечатление, что это стандарт отрасли и вообще говоря у него большие шансы стать первым языком у юзера хотя бы потому что ему поневоле приходится писать apt-get и dpkg -i.
Если необходимо писать и есть конкретная задача, то решить её при помощи Гугла или даже man — никакого труда не составит. А статья нужна чтобы узнать как правильно, надёжно и без хаков писать рутинные вещи типа if. И перестать тратить время на выяснение этого каждый раз. Хотя, про то что это именно та статья, которая будет находится по запросам в Гугл, я не подумал. Но судя по количеству неточностей в статье, которые раскрыты коментами, не уверен что это хорошо.
Лексикографический порядок не является единственным возможным вариантом. Сходу нагуглился как минимум Kleene–Brouwer order. Кроме того, статья позиционируется как обучающая и совершенно точно не должна оставлять таких вопросов (ссылки на википедию было бы более чем достаточно). Я радикально не согласен с тем что задачей статьи не является "обучить писать скрипты человека, который о программировании не знает ничего вообще", потому что для автоматизции простых задач совершенно не требуется знать что такое лексикографический порядок и что на самом деле "десять" > "тыща".
Я даже проверить не смог после этой статьи… Не хватает хороших мануалов по bash, не хватает…
root@W10:~# "десять" \> "тыща"
десять: command not found
root@W10:~# if [["десять" \> "тыща"]] echo true
>
> fi
bash: syntax error near unexpected token `fi'
root@W10:~# if [["десять" \> "тыща"]]; echo true; fi
bash: syntax error near unexpected token `fi'
root@W10:~# if [["десять" \> "тыща"]] then echo true; fi
bash: syntax error near unexpected token `fi'
root@W10:~# if [["десять" \> "тыща"]] then echo true fi
> ;
bash: syntax error near unexpected token `;'
root@W10:~# if [["десять" \> "тыща"]] then; echo true; fi
bash: syntax error near unexpected token `fi'
root@W10:~# if ["десять" \> "тыща"] then; echo true; fi
bash: syntax error near unexpected token `fi'
root@W10:~#
str1 < str2Возвращает истину, если str1меньше, чем str2.
А какая строка меньше "десять" или "тыща"? Совершенно непонятно ЧТО сравнивается в строках, а потом статья говорит что можно еще и сортировать с помощью этого оператора. WAT??? Сравниваются ASCII-коды символов?? Как можно сравнить два массива чисел разной длины? Может всё-таки по размеру сначала, а при равенстве размера какая-то еще логика? Вот этот вопрос не ясен...
Обратите внимание на то, что скрипт, хотя и выполняется, выдаёт предупреждение:
./myscript: line 5: [: too many arguments
Для того, чтобы избавиться от этого предупреждения, заключим $val2 в двойные кавычки:
Здесь пропущен архи-важный ответ на вопрос "зачем?". Я не понимаю как bash интерпретировал выражение и ПОЧЕМУ кавычки эту интерпритацию меняют. Вот эти все сравнения строк для меня всегда были какой-то черной магией с десятком разных подходов и Ваша статья еще сильнее убеждает меня в том что так и есть.
Спасибо, ссылка в конце убила статью, которую я начал писать про реверс-инжениринг протокола (( Оказывается, всё уже сделано (( А я с Packet Capture и Packet Sender сидил, подбирал границы значений для цветов и яркости… Там, кстати, ошибка в доке. Для LimitlessLED RGBW яркость не до 0x1B, a для 0x18. И интересный факт — в приложении которое я использую максимум 0x17
Столько коментов и никто не заметил грубую ошибку, которая мешала моему восприятию!
Эта статья первая в гугле по запросу UART, мне нужно было освежить память и я наткнулся на дезинформацию!
В Интернете кто-то не прав, полундрррра!
Стоповый бит, как и стартовый, равен нулю.
Видимо, сообщество слишком прошарено и никто даже не читал описание протокола… Да даже на осцилографе нифига не видно стоп-бит, MSB равен единице…
Значение стоп-бита всегда 1, если реально принятое значение иное, UART фиксирует ошибку. Вики
Вот первая строчка прям сбивает… За ней совсем не видно вторую, мне пришлось юзать find чтобы найти этот файл… Подстава что даже в оригинальных туториалах не пишут про other/bootstrap_daemon/
Ого, перечитал свою статью, оказывается, 119 секунд — это действительно только getMutural с чистыми ID. У меня было подозрение, что на хабре не бывает негатива, но как-то не щёлкнуло… Моя любовь к необдуманным действиям не знает границ…
Приношу глубочайшие извинения за наезд, задачи решаются аналогичные. Прошу игнорировать абзацы n-2 и n-1 в сообщении i-2
А запарился я, потому что мне показали https://gephi.org
Давайте всё-таки сделаем нормальную качалку друзей друзей? Я прям очень хочу потыкать этот граф в Gephi
Вот теперь я вижу логику языка, спасибо. А когда после then вместо пробела разрыв строки, это больше похож на какую-то особую конструкцию языка чем на три команды с параметрами.
Вот сейчас Вы правы, я считал что bash позиционируется как "простой" язык. Если в реальности bash-скриптинг — это действительно более ребусы, чем продуктивность, то да, лучше на том же питоне писать (лично я так и делаю). Но все-таки, мне всегда казалось что я что-то упускаю… Ведь именно bash является стандартной оболочкой всех современных линуксов. Создаётся впечатление, что это стандарт отрасли и вообще говоря у него большие шансы стать первым языком у юзера хотя бы потому что ему поневоле приходится писать
apt-get
иdpkg -i
.Если необходимо писать и есть конкретная задача, то решить её при помощи Гугла или даже man — никакого труда не составит. А статья нужна чтобы узнать как правильно, надёжно и без хаков писать рутинные вещи типа if. И перестать тратить время на выяснение этого каждый раз. Хотя, про то что это именно та статья, которая будет находится по запросам в Гугл, я не подумал. Но судя по количеству неточностей в статье, которые раскрыты коментами, не уверен что это хорошо.
ну да, я быстро сдался, спасибо. Надеюсь, запомню где там обязательные разрывы а где необязательные...
Лексикографический порядок не является единственным возможным вариантом. Сходу нагуглился как минимум Kleene–Brouwer order. Кроме того, статья позиционируется как обучающая и совершенно точно не должна оставлять таких вопросов (ссылки на википедию было бы более чем достаточно). Я радикально не согласен с тем что задачей статьи не является "обучить писать скрипты человека, который о программировании не знает ничего вообще", потому что для автоматизции простых задач совершенно не требуется знать что такое лексикографический порядок и что на самом деле
"десять" > "тыща"
.Я даже проверить не смог после этой статьи… Не хватает хороших мануалов по bash, не хватает…
А какая строка меньше "десять" или "тыща"? Совершенно непонятно ЧТО сравнивается в строках, а потом статья говорит что можно еще и сортировать с помощью этого оператора. WAT??? Сравниваются ASCII-коды символов?? Как можно сравнить два массива чисел разной длины? Может всё-таки по размеру сначала, а при равенстве размера какая-то еще логика? Вот этот вопрос не ясен...
Здесь пропущен архи-важный ответ на вопрос "зачем?". Я не понимаю как bash интерпретировал выражение и ПОЧЕМУ кавычки эту интерпритацию меняют. Вот эти все сравнения строк для меня всегда были какой-то черной магией с десятком разных подходов и Ваша статья еще сильнее убеждает меня в том что так и есть.
Эта статья первая в гугле по запросу UART, мне нужно было освежить память и я наткнулся на дезинформацию!
В Интернете кто-то не прав, полундрррра!
Видимо, сообщество слишком прошарено и никто даже не читал описание протокола… Да даже на осцилографе нифига не видно стоп-бит, MSB равен единице…
А еще, вот тут что-то пишут про репо https://blog.tox.im/running-a-bootstrap-node/
Но что-то вики лежит ((
вообще, репо это было бы удобно...
Вот первая строчка прям сбивает… За ней совсем не видно вторую, мне пришлось юзать find чтобы найти этот файл… Подстава что даже в оригинальных туториалах не пишут про
other/bootstrap_daemon/
Такого полного и удобного хелпа как в Математике, я еще ни в одной программе не встречал. Discoverability новых функций в этом хелпе очень высокий.
Есть совсем чучуть инвайтов, кому НУ ПРЯМ ОЧЕНЬ хочется, можете постучаться ^_^
Ого, какая штука интересная. Я правда пока не совсем понял, это что, мой Python код будет на iOS и Android работать?
А, это совсем новое выступление? спасибо… Что-то с мобильного приложения даже ссылка не отображалается
Ого, перечитал свою статью, оказывается, 119 секунд — это действительно только getMutural с чистыми ID. У меня было подозрение, что на хабре не бывает негатива, но как-то не щёлкнуло… Моя любовь к необдуманным действиям не знает границ…
Приношу глубочайшие извинения за наезд, задачи решаются аналогичные. Прошу игнорировать абзацы n-2 и n-1 в сообщении i-2
А запарился я, потому что мне показали https://gephi.org
Давайте всё-таки сделаем нормальную качалку друзей друзей? Я прям очень хочу потыкать этот граф в Gephi