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

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

5
Почему {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 Однако, когда шаблон создается командой, вложенной в $(), работает только …


4
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). Добавление запятой работает, но у моих входных …

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

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

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

5
Использование подстановки параметров в массиве 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 …

2
Как я могу создать массив из первой строки нескольких источников текста?
У меня есть массив путей к файлам, каждый из которых имеет несколько строк текста. Я хотел бы создать массив, который заполняется первой строкой каждого файла, обработанного следующим образом: # this.txt first line is [Test this] # another.txt first line is [Test another] paths=( ./this/path/this.txt ./another/path/another.txt ) for i in ${paths[@]}; …

2
псевдонимы bash не расширяются даже с shopt expand_aliases
Я хочу запустить псевдоним внутри bash -cконструкции. В bashруководстве сказано: Псевдонимы не раскрываются, когда оболочка не является интерактивной, если параметр expand_aliasesоболочки не установлен с помощьюshopt В этом примере почему псевдоним hiне найден при expand_aliasesявной настройке ? % bash -O expand_aliases -c "alias hi='echo hello'; alias; shopt expand_aliases; hi" alias hi='echo …
8 bash  alias 

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

2
Смущает эта команда `find` в скрипте Bash?
У меня есть сценарий bash, созданный кем-то, кто больше не может объяснить смысл, который используется для автоматического TAR-файла папки и ее резервного копирования. На данный момент я запутался с финальной строкой: find '/home/_backups/pokebrawl' -mtime +6 -type f -delete Полный скрипт ниже. #!/bin/bash #Purpose = Backup of Important Data #Created on …

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

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

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

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

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