Articles of bash

Как правильно обрабатывать SIGINT для интерактивных и неинтерактивных скриптов Bash?

Backgound Я прочитал пост об обработке сигнала SIGINT , но до сих пор не понимаю, как правильно обрабатывать его в коде, который будет получен и использован как интерактивными, так и неинтерактивными shellми. Я приведу упрощенный пример моего сценария и задам вопросы по конкретным частям. пример У меня есть скрипт с полезными функциями, который предназначен для […]

Как повторить цикл n раз в Bash

У меня ниже сценарий, как: if [file exists]; then exit elif recheck if file exist (max 10 times) if found exit else recheck again as per counter fi

Как извлечь из тройника?

Я хочу проверить, выводит ли моя команда «rerun» (и затем повторно), но я также хочу отобразить весь вывод. Я знаю, что я мог бы использовать один из них: command | tee >(grep rerun) command | grep rerun Первый выводит весь вывод, как и ожидалось, но я не могу использовать его как условие, потому что он […]

Индексный диапазон массива не позволяет перебирать новую строку в bash

Я работаю над простым bash-скриптом, который исправляет проблему дублирования имен в retropie. Сам скрипт захватывает любое имя, которое упоминается более одного раза в файле gameslist.xml, а затем сохраняет его в массиве для последующего использования. Я заканчиваю цикл по этому массиву в индексах, например, так: pi@retropie:~ $ for game in ${game_array[@]:0:10} ; do echo $game; done […]

отображать имена и значения всех переменных env, которые начинаются с «nlu_setting»

Я ищу способ отобразить имена и значения всех переменных env, которые начинаются с nlu_setting, поэтому вывод может выглядеть следующим образом: nlu_setting_json=true nlu_setting_global=0 nlu_setting_bar=foo Кто-нибудь знает как это сделать?

Где ‘/?’ расширение параметров задокументировано?

Я столкнулся с этим странным расширением параметров для bash / dash, для которого я не нашел ссылок. Как называется этот вид расширения? Где это задокументировано? $ /??? bash: /bin: Is a directory $ /???? bash: /boot: Is a directory $ /????? bash: /cdrom: Is a directory $ /?????? bash: /libx32: Is a directory

Bash: дать построенный массив для функции в качестве списка аргументов?

У меня есть эта проблема с borgbackup, но поскольку реакция та же, я буду использовать rsync в моем примере. Я хочу создать массив аргументов, добавив префикс к каждому, а затем передать этот массив в rsync . Но rsync действует так, как будто его не существует. С помощью этого скрипта: #!/usr/bin/env bash # declare -a exclude_String […]

Как разрешается .. (точка) в bash, когда cwd является символической ссылкой на каталог

Рассмотрим следующую структуру папок: . ├── test1 │ ├── nested1 │ ├── testfile11 │ └── testfile12 └── test2 ├── nested1 -> /path/to/dir/test1/nested1 └── testfile21 test2/nested1 является символической test2/nested1 на каталог test1/nested1 . Я ожидаю, если бы это был cwd, .. разрешил бы test2 . Тем не менее, я заметил это несоответствие: $ cd test2/nested1/ $ […]

sshpass и найти ошибку в скрипте bash

Я использую этот скрипт для резервного копирования удаленных файлов с помощью rsync. Есть проблема, когда я пытаюсь начать, я получаю этот вывод с ошибками, которые я не знаю, как справиться. Спасибо за советы, если будут. #!/bin/bash #VARIABLES DEFINE TO STORE COMMANDS AND VALUES. TODAY_DATE=$(date +%Y%m%d) #Store current date MKDIR=$(which mkdir) #store mkdir command RSYNC=$(which rsync) […]

Команда OS X в качестве псевдонима завершается с ошибкой «9:13: ошибка выполнения: переменная Base не определена. (-2753)»

У меня есть команда, которую я запускаю в OS X. Она отлично работает: $ osascript -e ‘quit app “Base”‘ && cd /Users/davechambers/Library/Android/sdk/platform-tools/ && ./adb pull data/data/uk.co.davechambers.pegboard/databases/we-need-db ~/Desktop/ | open -a “Base” Я сделал это в псевдоним через: $ alias pullRoom=”osascript -e ‘quit app “Base”‘ && cd /Users/davechambers/Library/Android/sdk/platform-tools/ && ./adb pull data/data/uk.co.davechambers.pegboard/databases/we-need-db ~/Desktop/ | open -a […]

Intereting Posts
Проблемы с запуском сеанса / процесса Fedora Как исправить аргумент, полученный от getopt? Загрузите веб-страницу, поставив все, что нужно, в выделенный каталог? Получение только имени приложения из wmctrl -l Fedora 21: Получение «libprocps.so.1: невозможно открыть файл общих объектов: нет такого файла или каталога» на ps Использование awk, как получить желаемый результат из нескольких источников файлов Лишь оставлять самую длинную линию, когда первая колонка дублируется Плохая производительность с Java Использование xcape + xmodmap для изменения некоторых ключей Компиляция из источника: каковы параметры сценария конфигурации «build»? Скопируйте файл с USB-накопителя на рабочий стол, загруженный с помощью LiveCD Как отключить скрипт в «dot-d» (с суффиксом «.d») в каталоге / etc без его удаления? Zsh git filename завершено с помощью «–git-dir = … –work-tree = …»: не репозиторий git Найти файлы, содержащие одну строку, но не другую Показывать, какие рабочие пространства имеют приложения в openbox