Вопросы с тегом «bash»

Вопросы, специфичные для GNU Bourne Again SHell, в отличие от других оболочек Bourne / POSIX. Для вопросов о оболочках Unix в целом используйте вместо этого тег / shell.


1
Почему эти бомбы-вилки работают по-разному, и каково значение & в этом?
Я понимаю, как работает обычная вилочная бомба, но я не совсем понимаю, почему & в конце обычной бомбы вилки требуется и почему эти сценарии ведут себя по-разному: :(){ (:) | (:) }; : и :(){ : | :& }; : Первый вызывает всплеск использования процессора, а затем возвращает меня к …

7
Компактная подсказка bash при использовании дерева каталогов / имени файла
В системе с Ubuntu 14.04 и у bashменя есть PS1переменная, заканчивающаяся следующим содержанием: \u@\h:\w\$ так что подсказка выглядит как user@machinename:/home/mydirectory$ Однако иногда текущий каталог имеет длинное имя или находится внутри каталогов с длинными именами, так что приглашение выглядит user@machinename:/home/mydirectory1/second_directory_with_a_too_long_name/my_actual_directory_with_another_long_name$ Это заполнит строку в терминале, и курсор перейдет на другую строку, …

2
Почему использование `yes` на конвейерах bash * not * вызывает бесконечные циклы?
Согласно документации, bash ожидает завершения всех команд в конвейере, прежде чем продолжить Оболочка ожидает завершения всех команд в конвейере, прежде чем вернуть значение. Так почему же команда yes | trueзавершается немедленно? Разве yesцикл не должен вечно вызывать конвейер? И подзапрос: согласно спецификации POSIX , конвейеры оболочки могут выбрать либо возврат …
16 bash  shell  pipe 

2
Что означает «</ dev / null»?
Я понимаю, &gt; /dev/nullперенаправляет вещи, на /dev/nullкоторые действует как черная дыра. Однако я не понимаю, что &lt; /dev/nullзначит. Я видел сценарий, написанный следующим образом: nohup myprogram &gt; foo.out 2&gt; foo.err &lt; /dev/null &amp; Итак, что &lt; /dev/nullв приведенном выше коде означает? вот пример, где предлагается
16 bash 

5
Это ошибка в Bash? `return` не завершает функцию, если вызывается из канала
У меня были некоторые странные проблемы с Bash в последнее время. Пытаясь упростить свой сценарий, я разработал небольшой фрагмент кода: $ o(){ echo | while read -r; do return 0; done; echo $?;}; o 0 $ o(){ echo | while read -r; do return 1; done; echo $?;}; o 1 …

2
Использование ресурсов с использованием pipe и здесь string
Мы можем получить тот же результат, используя следующие два bash, echo 'foo' | cat и cat &lt;&lt;&lt; 'foo' Мой вопрос: в чем разница между этими двумя в отношении используемых ресурсов и какой из них лучше? Я думаю, что при использовании канала мы используем дополнительный процесс echoи канал, в то время …
16 bash  pipe  resources 


6
Оболочка: «Показать все 2588 возможностей?»
Итак, я перемещал свой ноутбук (и у меня есть плохая привычка устанавливать вещи на клавиатуре ...), и я проснулся, чтобы обнаружить это: $ Показать все 2588 возможностей? (у или н) Какая команда будет отображать что-то вроде этого? Я использую Bash.
16 bash  shell 

2
Практическое использование опции `set -k` в bash
Когда мы используем set -kопцию в bash? Справочное руководство Bash гласит: Все аргументы в форме операторов присваивания помещаются в среду для команды, а не только те, которые предшествуют имени команды. Я понимаю, что делает этот вариант, но не мог представить, когда он нам понадобится.
16 bash  shell 

1
Завершение Bash для значений, разделенных запятыми
Я хотел бы создать правило завершения для списка параметров, разделенных запятыми. Например, у меня есть команда, которая получает список имен серверов: myscript -s name1,name2,name3 На данный момент мне удалось написать следующее завершение: _myscript () { local cur prev opts _get_comp_words_by_ref cur prev opts='-s' servers='name1 name2 name3' if [[ ${cur} == …

5
Stateful функция Bash
Я хотел бы реализовать функцию в Bash, которая увеличивает (и возвращает) счетчик при каждом вызове. К сожалению, это кажется нетривиальным, так как я вызываю функцию внутри подоболочки и, следовательно, она не может изменять переменные родительской оболочки. Вот моя попытка: PS_COUNT=0 ps_count_inc() { let PS_COUNT=PS_COUNT+1 echo $PS_COUNT } ps_count_reset() { let …

4
Конвертировать каждый PDF в текущем каталоге в PNG
Я хочу написать bashскрипт для преобразования каждого .pdfфайла в текущем каталоге в .pngфайл. Например: $ls . a.pdf b.pdf $./pdf2png.sh Converting pdfs to pngs a.pdf -&gt; a.png b.pdf -&gt; b.png Это моя лучшая попытка: #!/bin/bash convert -verbose -density 500 -resize '800' a.pdf a.png convert -verbose -density 500 -resize '800' b.pdf b.png
16 bash  imagemagick 

4
Как перейти в режим редактирования vi в readline?
Я хочу переключиться в режим редактирования vi в среде readline. Но я не хочу использовать «set -o vi». Я хочу временно переключиться с помощью сочетания клавиш. Страница руководства говорит, что я могу сделать это с M-C-j. Но это не работает для меня. Я использую Ubuntu и Xterm. Также не работает …
16 bash  readline 

5
Использование сгенерированного списка имен файлов в качестве списка аргументов - с пробелами
Я пытаюсь вызвать скрипт со списком имен файлов, собранных find. Ничего особенного, просто что-то вроде этого: $ myscript `find . -name something.txt` Проблема в том, что некоторые пути содержат пробелы, поэтому при раскрытии аргумента они разбиваются на два недопустимых имени. Обычно я бы заключал имена в кавычки, но здесь они …

Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.