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

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

1
`set -e` и` grep` идиома для предотвращения преждевременного выхода из сценария оболочки, когда шаблон не найден
Требуется помощь - в контексте сценариев оболочки на bash GNU / LINUX: Я всегда использую set -e. Часто я хотел бы grepи не всегда хочу, чтобы скрипт прекращал выполнение, если grepимеет состояние выхода, 1указывающее, что шаблон не найден. Я попытался решить эту проблему следующим образом: (Попробуйте I) Если set +o …
15 bash  grep  gnu  coreutils 

1
Почему Ctrl + M и Ctrl + Q не используются в сочетаниях клавиш Bash?
Недавно я просматривал сочетания клавиш bash и пытался найти подходящий для моего ключа активации tmux. Я нахожу интересным , что ctrl + mи ctrl + qне используются в ярлыках Баш, согласно https://en.wikipedia.org/wiki/Bash_(Unix_shell) . Почему они не используются? Я чувствую себя ctrl + mочень удобно. Эти две комбинации предназначены для DIY …

1
Обновление истории bash на других терминалах при выходе из одного терминала
Я знаю, что этот вопрос не является неясным, так как он задается здесь, обновлять (и дублировать здесь). То, что я пытаюсь достичь, немного другое. Мне не нравится идея моей подсказки переписывать файл каждый раз, когда lsя печатаю ( history -a; history -c; history -r). Я хотел бы обновить файл при …

3
Сохранить код выхода на потом
Итак, у меня есть небольшой скрипт для запуска некоторых тестов. javac *.java && java -ea Test rm -f *.class Теперь проблема в том, что когда я запускаю скрипт ./test, он вернет код успешного завершения, даже если тест не пройден из-за rm -f *.classуспеха. Единственный способ заставить меня делать то, что …

1
В чем разница между @ и * при обращении к значениям массива bash?
Это руководство Bash говорит: Если номер индекса равен @ или *, на все элементы массива ссылаются. Когда я делаю это: LIST=(1 2 3) for i in "${LIST[@]}"; do echo "example.$i " done Дает: example.1 example.2 example.3(желаемый результат). Но когда я использую ${LIST[*]}, я получаю example.1 2 3вместо этого. Почему? Редактировать: …
15 bash  array 


3
Почему «echo $ 0» дает разные результаты для двух разных терминалов?
Я открыл терминал в Ubuntu с помощью Ctrl+ Alt+ Tи другого терминала, перейдя в каталог , а затем щелкнув правой кнопкой мыши и выбрав «Открыть в терминале». Я сделал echo $0в обоих случаях. В первом случае: $ echo $0 -bash Во втором случае: $ echo $0 /bin/bash Почему эта разница?

2
Как работает GLOBIGNORE?
Согласно странице руководства bash: GLOBIGNORE A colon-separated list of patterns defining the set of filenames to be ignored by pathname expansion. If a filename matched by a pathname expansion pattern also matches one of the patterns in GLOBIGNORE, it is removed from the list of matches. Однако на практике ... …

4
Как заставить bash прервать выполнение скрипта при синтаксической ошибке?
Чтобы быть в безопасности, я бы хотел, чтобы bash прервал выполнение скрипта, если он обнаружит синтаксическую ошибку. К моему удивлению, я не могу этого достичь. ( set -eнедостаточно). Пример: #!/bin/bash # Do exit on any error: set -e readonly a=(1 2) # A syntax error is here: if (( "${a[#]}" …

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

1
История Bash с метками времени
Я хотел бы сохранить временные метки для команд, зарегистрированных в моем Bash $ HISTFILE, это возможно? Мне не удалось настроить его, используя man bashв качестве источника информации. Мои другие варианты заключаются в следующем: function thebanana() { local -r -a bash_commands=( "ls" # ... more coconut commands ) for bash_command in …

5
Почему grep не работает с перенаправлением?
Использование topкоманды с перенаправлением работает нормально: top > top.log Теперь я хочу использовать grep для фильтрации определенной строки: top | grep "my_program" > top.log Но файл журнала останется пустым. Но grep выдает вывод при использовании top | grep "my_program" Где my_programдолжен быть заменен работающей программой, чтобы увидеть некоторые результаты. Почему …
15 bash  grep 

3
Использование именованных каналов ввода / вывода для соединения TCP
Некоторое время я возился с тем, чтобы заставить это работать, поэтому я подозреваю, что какое-то фундаментальное недоразумение о том, как работают каналы, является основной причиной моих проблем. Моя цель - инициировать TCP-соединение с некоторым удаленным хостом через netcatи иметь два именованных канала в файловой системе: один, из которого процессы могут …
15 bash  pipe  tcp  netcat 

2
Сжать каталог с помощью tar / gz через SSH на локальный компьютер?
Я хотел бы, по сути, tar / gz каталог на удаленном компьютере и сохранить файл на моем локальном компьютере без необходимости подключения обратно на мой локальный компьютер с удаленного компьютера. Есть ли способ сделать это через SSH? Файл tar не нужно хранить на удаленном компьютере, только на локальном компьютере. Это …
15 bash  ssh  tar 

3
Как я могу обработать необработанные двоичные данные в канале bash?
У меня есть функция bash, которая принимает файл в качестве параметра, проверяет, существует ли файл, а затем записывает все, что выходит из stdin, в файл. Наивное решение прекрасно работает для текста, но у меня проблемы с произвольными двоичными данными. echo -n '' >| "$file" #Truncate the file while read lines …
15 bash  shell  binary 

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