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

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

2
Исключение каталога при архивировании файлов
У меня есть скрипт bash, который делает что-то вроде этого: zip -0 ../backup/backup.zip \ -r ./* \ -x \*CVS\* \ -x *Thumbs.db* \ Каталог, который он резервирует, является архивом SVN (раньше это был CVS). Я не смог заставить его исключить .svn и его содержимое. Какой самый чистый способ исключить .svn …
11 bash  scripting  zip 

2
Добавление пустой строки в конце ввода
У меня есть команда, которая производит вывод без новой строки в конце, как это Myprompt$ somecmd dksfjdl dsfjdlkfj dsfjdkfj dfjdkfjMyprompt$ В настоящее время я преодолел это путем somecmd | sed 's/$/\n/' | tr -s '\n' Есть ли лучший способ сделать это?

4
Могу ли я легко искать свою историю во многих окнах экрана?
В моем текущем screenсеансе 12 открытых окон. Он работает уже несколько недель ... Я знаю, что выполнил команду ImageMagick convertв одном из этих 12 экранных окон где-то на прошлой неделе ... Есть ли способ, с помощью которого я могу легко искать в истории Bash всех 12 экземпляров, не закрывая их …

2
Как правильно экранировать восклицательные знаки в bash?
Сегодня меня поймали с поличным, когда я пытался закодировать в гольф генератор паролей для Twitter. import string as s,random;print ''.join(random.sample(s.letters+s.digits+s.punctuation,9)) 90 символов Так как это много свободного места, я решил поднять планку и сделать ее исполняемой тоже. echo -e "#!/usr/bin/python\nimport string as s,random;print ''.join(random.sample(s.letters+s.digits+s.punctuation,9))">pg;chmod +x pg;./pg 139 символов Хорошо, за …

8
Какой ваш любимый редактор GUI / CLI сценариев оболочки и почему? [закрыто]
Закрыто . Этот вопрос основан на мнении . В настоящее время он не принимает ответы. Хотите улучшить этот вопрос? Обновите вопрос, чтобы ответить на него фактами и цитатами, отредактировав этот пост . Закрыто 2 года назад . В настоящее время я использую vim для редактирования скриптов bash, но мне действительно …
11 bash  editors 

2
Почему pwd не принимает длинные опции, такие как --physical?
Когда я отображаю руководство для pwdкоманды, он говорит, что --physicalподдерживаются длинные опции, такие как $ man pwd PWD(1) User Commands PWD(1) NAME pwd - print name of current/working directory SYNOPSIS pwd [OPTION]... DESCRIPTION Print the full filename of the current working directory. -L, --logical use PWD from environment, even if …
11 bash  rhel  pwd 

1
Использование заключающих в скобки {} в качестве аргументов команд и их параметров
Примеры Недавно я нашел примеры использования пар заключающих в скобки паролей {}, между которыми нет открывающей и закрывающей скобок, в качестве аргументов команд и даже их параметров: cat foo | xargs -I{} echo {} find . -size 0 -exec rm -i {} \; Нет документации Моя проблема в том, что …
11 bash  shell 

2
оболочка posix: вывод списка имен переменных среды (без значений)
Как posix-совместимый способ, который работает с несколькими реализациями, как я могу напечатать список в настоящее время определенной переменной среды без их значений? В некоторых реализациях (mksh, freebsd / bin / sh) простое использование exportподойдет: $ export FOO2 FOO Но для некоторых других реализаций (bash, zsh, dash) exportтакже показано значение. С …

3
Shell Script: создание переменной с параметрами внутри
У меня есть команда rsync со следующими параметрами: rsync -avz --{partial,stats,delete,exclude=".*"} Я хочу поместить эти параметры в переменную, чтобы использовать ее после в скрипте. Что-то вроде этого: #!/bin/bash VAR=rsync -avz --{partial,stats,delete,exclude=".*"} $VAR /dir1 /dir2 Я пробовал с кавычками, одинарные кавычки, скобки, но безуспешно.

2
Как заставить Ctrl + C / Not / прерывать цикл while?
Учитывая этот цикл: while sleep 10s ; do something-that-runs-forever done Когда я нажимаю Ctrl + C, весь цикл while прерывается. Я хочу прервать процесс «что-то», пропустить 10 секунд, а затем перезапустить «что-то». Как сделать так, чтобы Ctrl + C влиял только на «что-то», а не на цикл while? РЕДАКТИРОВАТЬ: «прерывать», …
11 bash 

6
Прочитать файл, ориентированный на строку, который может не заканчиваться символом новой строки
У меня есть файл с именем, /tmp/urlFileгде каждая строка представляет URL-адрес. Я пытаюсь прочитать из файла следующее: cat "/tmp/urlFile" | while read url do echo $url done Если последняя строка не заканчивается символом новой строки, эта строка не будет прочитана. Мне было интересно, почему? Можно ли прочитать все строки, независимо …

1
Zsh не может вводить данные в терминал при передаче данных через stdin и stdout с помощью переменной команды с выводом tty
Системная информация: macOS Sierra 10.12.6 zsh 5.4.2 (x86_64-apple-darwin16.7.0) GNU bash, version 4.4.12(1)-release (x86_64-apple-darwin16.3.0) Перейдите к ПРИМЕРАМ внизу, если вы хотите просто перейти к упрощенным примерам, которые я сделал. ПРИМЕЧАНИЕ: я не большой zshпользователь. Я искал fzfкомбинации клавиш для bashи zsh. Обратите внимание, как они оба запускают переменную команду $(__fzfcmd). __fzfcmdпо …
11 bash  zsh  pipe  tty 

2
Bash скрипт не видит SIGHUP?
У меня есть следующий скрипт: #!/bin/bash echo "We are $$" trap "echo HUP" SIGHUP cat # wait indefinitely Когда я отправляю SIGHUP(использую kill -HUP pid) ничего не происходит. Если я немного изменю сценарий: #!/bin/bash echo "We are $$" trap "kill -- -$BASHPID" EXIT # add this trap "echo HUP" SIGHUP …
11 bash  signals 

3
$ HOME / bin dir отсутствует в $ PATH
По моему у ~/.profileменя есть последний блок, который должен загрузить мои личные, bin/ directoryкак это: # set PATH so it includes user's private bin if it exists if [ -d "$HOME/bin" ] ; then PATH="$HOME/bin:$PATH" fi Но, похоже, не загружено: echo $PATH /usr/local/bin:/usr/bin:/bin:/usr/local/games:/usr/games Почему это не работает? (Моя оболочка bash.) …

3
BASH и поведение возврата каретки
У меня есть один быстрый вопрос. Это нормально, что bash (я использую 4.4.11) не отображает строки / текст, который отделен / заканчивается простым \r? Я был немного удивлен, увидев такое поведение: $ a=$(printf "hello\ragain\rgeorge\r\n") $ echo "$a" george Но текст «Привет снова» все еще там, как-то «спрятан»: $ echo "$a" …

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