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

8
Как я могу создать бесконечный цикл, который убивает процесс, если что-то найдено в dmesg?

Мне нужно создать whileцикл, который, если dmesgвозвращает какое-то / любое значение, то он должен убить определенный процесс. Вот что у меня есть. #!/bin/bash while [ 1 ]; do BUG=$(dmesg | grep "BUG: workqueue lockup" &> /dev/null) if [ ! -z "$BUG" ]; then killall someprocessname else break...

8
Развертывание параметров в $ @ не поддерживается оболочкой sh?

Я опубликовал ответ на вопрос об AU и обнаружил, что расширение параметра on $@не работает с shоболочкой: <infile xargs -d'\n' sh -c 'echo "${@%%/*}"' _ но работает нормально bash. Это ожидаемое поведение shоболочки, и как я могу выполнить расширение там? Кроме того, я знаю, что с -n1опцией...

8
$ find -exec cd => выдает ошибку: => find: 'cd': такого файла или каталога нет

Когда я запускаю эту команду, она работает: $ find . -inum 888696 -exec ls '{}' \; Conversation.pst Outlook Data File Outlook Data File.sbd Trash Unsent Messages Inbox.pst Outlook Data File.msf Sent.pst Trash.msf Unsent Messages.msf Однако при замене lsна cdнего не работает: $ find . -inum 888696...

8
Мой скрипт выдает тот же результат при использовании $ RANDOM

Я пытаюсь напечатать случайное nбуквенное слово, которое вводится nиз самой командной строки, но по какой-то причине мой сценарий дает мне один и тот же ответ каждый раз, когда используется одно и то же значение для n. #!/bin/bash num=$1 egrep "^.{$num}$" /usr/share/dict/words | head -n $RANDOM|...

8
Создать последовательность аргументов для передачи в программу?

В настоящее время я использую комбинацию фигурных скобок и перетаскивания для одновременного воспроизведения нескольких файлов в vlc: vlc K20-{06,07,08,09,10,11,12,13,14,15,16,17}* Но числа всегда в полной последовательности, есть ли способ как-то указать это немного проще, может быть, что-то вроде...

8
Shell: использование функции с параметрами в if

Я пытаюсь выполнить код ниже, но когда я пытаюсь использовать свою функцию в операторе if, я получаю -bash: [: too many argumentsошибку. Почему это происходит? Заранее спасибо! notContainsElement () { local e match="$1" shift for e; do [[ "$e" == "$match" ]] && return 1; done return 0 }...

8
Смущает эта команда `find` в скрипте Bash?

У меня есть сценарий bash, созданный кем-то, кто больше не может объяснить смысл, который используется для автоматического TAR-файла папки и ее резервного копирования. На данный момент я запутался с финальной строкой: find '/home/_backups/pokebrawl' -mtime +6 -type f -delete Полный скрипт ниже....

8
find exec '{}' недоступен после>

Exec позволяет нам передавать все аргументы одновременно {} +или передавать их по одному{} \; Теперь предположим, что я хочу переименовать все в формате JPEG , без проблем это сделать: find . \( -name '*.jpg' -o -name '*.jpeg' \) -exec mv '{}' '{}'.new \; Но если мне нужно перенаправить вывод,...

8
Как я могу создать массив из первой строки нескольких источников текста?

У меня есть массив путей к файлам, каждый из которых имеет несколько строк текста. Я хотел бы создать массив, который заполняется первой строкой каждого файла, обработанного следующим образом: # this.txt first line is [Test this] # another.txt first line is [Test another] paths=(...

8
псевдонимы bash не расширяются даже с shopt expand_aliases

Я хочу запустить псевдоним внутри bash -cконструкции. В bashруководстве сказано: Псевдонимы не раскрываются, когда оболочка не является интерактивной, если параметр expand_aliasesоболочки не установлен с помощьюshopt В этом примере почему псевдоним hiне найден при expand_aliasesявной настройке ? %...

8
Как я могу отследить скрипт, который дает мне «команда не найдена» сразу после входа в систему?

Когда я вхожу, у меня есть эти сообщения: -bash: $'\r' : command not found -bash: $'\r' : command not found -bash: $'\r' : command not found Совершенно очевидно, что это вызвано окончаниями строк в стиле Windows в некоторых сценариях запуска, поэтому мой вопрос: могу ли я отследить сценарий,...

8
Использование подстановки параметров в массиве Bash

У меня есть file.txt, который мне нужно прочитать в массив Bash. Затем мне нужно удалить пробелы, двойные кавычки и все, кроме первой запятой в каждой записи . Вот как далеко я продвинулся: $ cat file.txt 10,this 2 0 , i s 30,"all" 40,I 50,n,e,e,d,2 60",s e,e" $ cat script.sh #!/bin/bash readarray...

8
Bash метод для просмотра начала и конца файла

В кластерах на основе очередей очередь ожидающих заданий отображается из команды, скажем showqueue. Команда возвращает в столбцах список приемлемых данных, таких как имена и т. Д., Но столбцы / данные не имеют значения для вопроса. Мне нравится использовать утилиту, watchкак watch showqueueиногда...

8
Вывод команды tail приводит к неожиданному выводу?

Эта команда, если она запускается одна, дает ожидаемый результат (последняя строка crontab): tail -n 1 /etc/crontab Однако, когда я запускаю его как часть команды echo для отправки результата в файл, он добавляет сводку всех файлов в рабочем каталоге плюс ожидаемый результат: sudo bash -c 'echo...

8
Bash Read: чтение списка через запятую, последний элемент пропущен

Вывод команды ниже странный для меня. Почему он не возвращает мне элемент 5? $ echo '0,1,2,3,4,5' | while read -d, i; do echo $i; done 0 1 2 3 4 Я ожидаю, что «5» также будет возвращено. Запуск GNU bash, version 4.2.46(2)-release (x86_64-redhat-linux-gnu). Добавление запятой работает, но у моих...

8
Почему {1,2}, напечатанный командой в $ (), не интерполируется?

Я нахожусь в каталоге, в котором у меня есть два текстовых файла: $ touch test1.txt $ touch test2.txt Когда я пытаюсь перечислить файлы (с Bash), используя какой-то шаблон, он работает: $ ls test?.txt test1.txt test2.txt $ ls test{1,2}.txt test1.txt test2.txt Однако, когда шаблон создается...

8
Перезаписать файл, только если данные

Я пытаюсь перезаписать файл с выводом команды, но только если есть какой-либо вывод. То есть я обычно хочу mycommand > myfile но если это заменит myfileпустые данные, я хочу сохранить старую версию myfile. Я думал, что что-то с использованием ifneдолжно быть возможно, а-ля mycommand | ifne (cat...

8
Как посмотреть 17-ю (или последнюю, если меньше) строку в файлах папки?

Я сейчас пользуюсь watch head -n 17 * который работает, но также показывает все строки до 17-го. По сути, я хотел бы показать только последнюю строку для каждого файла, который отображается с моим текущим подходом. Как я могу этого достичь? пример Для примера давайте уменьшим строку nr. до 7. Итак:...

8
Может $! вызвать условия гонки при использовании в скриптах, работающих параллельно?

Скажем, у меня есть несколько сценариев bash, которые работают параллельно, с кодом, подобным следующему: #!/bin/bash tail -f /dev/null & echo "pid is "$! Является ли $!гарантированно дать мне PID в самой последней фоновой задачи в этом сценарии , или это самая последняя фоновая задача во всем...