Tag: bash

PS1 = '$ (pwd)' почему это работает и почему это отличается от PS1 = $ (pwd)

Почему при вводе этой команды приглашение меняет мой каталог? PS1='$(pwd)' Я использую одинарные кавычки, что означает отсутствие интерполяции, например, echo '$(pwd)' – → $(pwd) Кроме того, скажем, что мы выяснили, почему это работает … почему он функционирует иначе, чем PS1=$(pwd) ? (никаких котировок вообще) По разному я имею в виду, что, если я использую кавычки, […]

Обнаружение X-сессии в сценарии bash (.bashrc и т. Д.)

Недавно я поставил xset b off в свой .bashrc. Теперь меня раздражает ошибка, которая появляется при входе через tty или через ssh, то есть вне X сеанса. Первое, что пришло мне в голову, было [[ -z "$SOME_VAR" ]] && xset b off (ну, оказывается, что тестовая переменная, устанавливаемая и пустая, – это другой вопрос). Но […]

Почему кавычки необходимы для аргумента файлов при вызове этого сценария Bash?

Я совершенно новый для сценариев Bash. У меня есть «testcript», который я использовал в качестве основы для более продвинутого / полезного скрипта: #!/bin/bash files=$1 for a in $files do echo "$a" done Когда я вызываю это без кавычек, он просто подбирает один файл в каталоге: testscript *.txt Но когда я называю это кавычками, он работает […]

Настройте стрелку вверх для просмотра команд с одинаковыми начальными символами, а не всех предыдущих команд

В командной строке bash , ↑ дает мне предыдущую команду. На командных строках в numpy или matlab , когда я набираю несколько символов, ↑ дает мне ранее введенную команду, начинающуюся с этих символов . Как я могу включить именно такое поведение в bash ? Я знаю более сложные способы поиска по истории командной строки, но […]

Как выполнить вывод строк в stdout?

Некоторые из команд git имеют много опций, и часто было бы полезно искать их по той, которая мне нужна – я просто искал опцию, которая управляет шириной TAB в git-gui , но для git config существует около 200 завершений git config . Очевидным обходным решением является копирование всех доработок в редактор и поиск по ним, […]

Каков общий формат ключевого слова для привязок ключей в файле «inputrc»?

Я понимаю, что формат привязки ключей в файле inputrc : keyname: function-name or macro Для имени ключа я видел такие вещи, как: "\e[B" "\e[1~" "\e[5D" "\Ml" "\C-[OD" "\e\e[D" В чем смысл этих ключевых слов, и каков общий формат для ключевого слова? Пожалуйста, поделитесь ссылкой на документы.

Есть ли способ обнаружить нулевые байты (␀, NUL, \ 0) в sed?

Связанный с другим вопросом , чтобы нечетко обнаружить двоичные файлы, есть ли способ обнаружить ␀ байты в sed ?

Bash: замена процесса и stdin

Следующая строка очевидна: echo "bla" | foo | bar Но делают ли те, что ниже, то же самое? echo "bla" | bar <(foo) echo "bla" | bar < <(foo) Какие из foo и bar читают «bla» от stdin и почему? Я имею в виду, что, конечно, я могу просто закодировать его и проверить, но я […]

никогда не используйте оператор `-a` или` -o` с `[`

Стефан Хазелас писал: несколько правил, таких как всегда указывать переменные никогда не используйте оператор -a или -o (используйте несколько [ команд и операторы оболочки && и || ) Сделайте [ надежным с оболочками POSIX. Почему «никогда не использовать оператор -a или -o »? Как я могу «использовать несколько [ команд и операторы оболочки && и […]

Значение '2>> (команда)' Перенаправление в Bash

Некоторое время назад я сделал сценарий, и я добавил несколько журналов вокруг него, но я забыл, как перенаправление для ведения журнала работает 🙁 Суть его в следующем: #!/bin/bash LOGFILE=/some/path/mylogfile ( # here go my commands which produce some stdout # and, if something goes wrong, also some stderr ) 1>>${LOGFILE} 2> >( tee -a ${LOGFILE} […]

Linux и Unix - лучшая ОС в мире.