← All posts tagged Bash

Похоже, что невозможность использовать нулевой байт в переменных — это не особенность bash'а, а этот старый ёбаный unix-way: в C-шной строке это конец строки, мы не можем при вызове программы передать ей аргумент, содержащий нулевой байт, потому что это будет расценено как конец строки.

Если хочешь хранить в строковых переменных нулевые байты — пиши на паскале.

Прочитал тут высер про «настоящих мужчин» и Windows.
Особенно порадовало вот это:
«Почти все юниксоиды ленивы — им проще за десять минут написать скрипт, автоматизирующий их работу».

Видал я такие скрипты, сделанные за десять минут из говна и палок. Естественно, никакой проверки входных параметров, никакой обработки ошибок, никакого тестирования.

Нет ужь, лучше пользоваться написанными профессионалами программами, пусть и не всегда максимально удобными, чем скриптом, написанным за десять минут красноглазым линуксистом.

Жуйк, привет, подскажи с перенаправлениями.
Вот у меня такой цикл:

while read a; do
....
done < text.txt

но я хочу внутри цикла прочитать из нормального стандартного ввода, с клавиатуры, как лучше это сделать?

Меня спросили, есть ли в bash битовые операции с числами, &, | и т.п.
Я ответил, что нет, конечно, но это всё очень легко можно сделать на sed.

$ echo $((255 & 0xf0))
240

Хм :-(

«Алиасы — это самообман, алиасы вводят в заблуждение, они создают иллюзию наличия команды, когда на самом деле такой команды нет. Ты можешь привыкнуть пользоваться алиасом и ввести в другом компьютере. Ты в скрипте можешь вбить алиас, будешь ожидать определенную реакцию, или как там.
В нормальным шеллах алиасов нет».

Я понял в чем было дело. В слаке каждый загрузочный скрипт начинается с шабанга #!/bin/sh, раньше sh указывал на bash, а теперь указывает на dash (я так сделал).
Теперь все загрузочные скрипты в говно.
Сижу в mc, открываю каждый загрузочный скрипт, меня /bin/sh на /bin/bash.
Так надо.

Всё-таки, кодить на bash куда хуже, чем на C.
Если кратко, то меня взбесили эти кавычки, где нужно ставить, где не нужно. Что является гнутым разрешением. Будет ли работать под другим шеллом или нет — не ясно.
У меня скрипт. Либо не работает моя программа, либо не работает плата, либо не работает скрипт — не понятно,
Чуть-чуть поставил кавычек — уже работает по-другому, а потом всё равно перестаёт работать.
Мне больше нечего сказать.

Я использую bash каждый день не один год и не два. И до сих пор почти ничего не знаю и не умею.
Если где-то увижу, что человек использует bash с умом, я удивлюсь и пожму плечами: зачем?
А вы говорите zsh.

Всё-таки это очень неудобно, что bind не может переназначить любое сочетание клавиш.
Например,
bind -x '"\C-q":echo hello' не работает, а
bind -x '"\C-a":echo hello' работает.

может быть, это gnome-terminal гадит? хотя, мне кажется, с чем-то таким я уже сталкивался, когда bash сам какие-то сочетания клавиш обрабатывает в обход readline, там прямо в исходниках прописано, что и как.

всё-таки скрипты на bash ничего кроме ненависти почему-то не вызывают.
я как-то раньше к башизмам относился спокойно, мол, почему бы и нет, если их использовать интерактивно, можно сэкономить много букв. но писать на этом скрипты… бррр.

каждый раз, когда я начинаю знакомиться с zsh, у меня очень скоро возникает желание просто открыть info bash, уточнить, как это делается в GNU bash и отложить знакомство с zsh еще на год. так я, пожалуй, сейчас и сделаю.