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

15
Как заставить bash прервать выполнение скрипта при синтаксической ошибке?

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

15
Выполнить команду, заданную параметрами функции

Я пытаюсь создать метод функции в скрипте bash, который выполняет команду, которая передается методу в параметрах. Имея в виду что-то вроде этого: special_execute() { # Some code # Here's the point where the command gets executed $@ # More code } special_execute echo "abc" Я уже пробовал я $@,...

15
Как работает 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. Однако...

15
Как заставить запись истории правильно отображаться на нескольких строках

Предположим, что я ввел функцию в приглашении bash, в несколько строк, а не сжимая ее на точку с запятой: $ function blah { echo blah } $ history -1 12690 function blah {\necho blah\n} Как заставить это отображаться с реальными символами новой строки вместо '\...

15
Почему «echo $ 0» дает разные результаты для двух разных терминалов?

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

15
Запустите команду, когда система простаивает и когда снова активна

Я хочу выполнить команду, когда пользователь становится неактивным (система бездействует). Например: echo "You started to be inactive." Кроме того, когда пользователь снова становится активным (система больше не находится в режиме ожидания): echo "You started to be active, again." Мне нужен...

15
Как установить количество команд, которые история вызывает

Я использую Bash. Чтобы просмотреть историю команд, я вызываю historyкоманду, которая, как мне кажется, вызывает программу Gnu с тем же именем. (Я не знаю, есть ли лучший способ для Bash). В моем .bashrc у меня есть строка export PROMPT_COMMAND='history -a'для сохранения истории из моих нескольких...

15
В чем разница между @ и * при обращении к значениям массива 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...

15
Рекурсивно перебирать файлы в каталоге

Рекурсивно перебирать файлы в каталоге можно легко: find . -type f -exec bar {} \; Тем не менее, вышеописанное не работает для более сложных вещей, где необходимо выполнить много условных переходов, циклов и т. Д. Я использовал это для вышеупомянутого: while read line; do [...]; done < <(find...

15
Bash -c с позиционными параметрами

Обычно $0в сценарии задается имя сценария или как он был вызван (включая путь). Однако, если я использую bashэту -cопцию, $0устанавливается первый из аргументов, переданных после командной строки: bash -c 'echo $0 ' foo bar # foo По сути, кажется, что позиционные параметры были смещены, но в том...

15
история bash для текущей сессии

Может быть, я что-то упускаю, но есть ли способ получить текущую историю Bash для текущего сеанса, который вы используете, как если я бегу ssh host $ pwd $ ls $ cd /tmp Я просто хочу увидеть эти 3 команды и ничего...

15
Как проверить, находится ли элемент в массиве bash?

Помощь по простому скрипту #!/bin/bash array1=( prova1 prova2 slack64 ) a="slack64" b="ab" if [ $a = $b ] then echo "$a = $b : a is equal to b" else echo "$a = $b: a is not equal to b" fi Этот скрипт просто не работает, я хочу скрипт, который проверяет, присутствует ли slack64 в списке (я использую...

15
Сохранить код выхода на потом

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

15
Что означают `1 >>` и `2 >>` в скрипте bash?

У меня есть следующий скрипт bash, из того, что я понимаю >>, используется для добавления вывода команды в существующий файл вместо перезаписи, но что он делает в этом случае? Этот скрипт вызывает некоторые исполняемые файлы для преобразования из одного формата в другой. Для каждого файла...

15
spawn - команда не найдена!

Я использую Mac OS X 10.9.4, следующий скрипт для копирования файлов с локального компьютера на другой хост #!/bin/bash #!/usr/bin/expect echo "I will fail if you give junk values!!" echo " " echo "Enter file name: " read filePath echo " " echo "Where you want to copy?" echo "Enter" echo "1. if...

15
Как читать тире файлы

Как я могу прочитать файл тире из терминала, кроме разграничения его с помощью ./ Например, чтобы прочитать, - fileмы можем прочитать это cat ./-file_name В: Есть ли альтернативный способ добиться того...

15
Обновление истории bash на других терминалах при выходе из одного терминала

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