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

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

5
$ 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 -exec cd '{}' \; …
8 bash  find  cd-command 

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

1
Bash: перенаправить в файл, всегда создавать новые
В bash, командная ссылка echo test > actual.txt заменит содержимое файла с именем actual.txt«test» и создаст файл, если он не существует. Однако, если файл существует, bash просто откроет его, урежет и запишет новое содержимое в файл. В частности, команда redirect терпит неудачу в этом сценарии: ln -s /some/illegal/path link.txt echo …

4
как сдвинуть значение массива в bash
мы хотим построить 6 папок точки монтирования в качестве примера /data/sdb /data/sdc /data/sdd /data/sde /data/sdf /data/sdg поэтому мы написали этот простой скрипт bash, используя массив folder_mount_point_list="sdb sdc sdd sde sdf sdg" folderArray=( $folder_mount_point_list ) counter=0 for i in disk1 disk2 disk3 disk4 disk4 disk5 disk6 do folder_name=${folderArray[counter]} mkdir /data/$folder_name let …

2
игнорировать «нет совпадений»
Я хотел бы перечислить все файлы в папке , foldernameкоторые имеют расширение test, atestили btest. Моей непосредственной мыслью было бежать ls ./foldername/*.{a,b,}test Это прекрасно работает, если нет ничего с расширением atest, в этом случае я получаю ошибку zsh: no matches found: ./foldername/*.atest. Есть ли способ, которым я могу просто проигнорировать …

1
Баш случайно с семенами?
Я использовал $((1 + RANDOM % 1000))для генерации случайного числа. Можно ли сделать что-то подобное, но обеспечить семя? Чтобы при одинаковом начальном числе всегда выводилось одно и то же случайное число?
8 bash  random 

1
Почему выход с сохраненным кодом возврата вложенной команды приводит к различным кодам возврата в Dash и Bash?
Бег bash -c 'bash -c "echo test1; exit 1;" &> /tmp/x; buildresult=$?; tail -n 100 /tmp/x; exit $buildresult;' в результате test1выводится на консоль и echo $?печатается, 1что, на мой взгляд, правильно, потому что команда должна возвращать то, что [b/d]ash -cвернул внутренний, тогда как dash -c 'dash -c "echo test1; exit …

4
Разделить строку с помощью IFS
Я написал пример сценария для разделения строки, но он не работает должным образом #!/bin/bash IN="One-XX-X-17.0.0" IFS='-' read -r -a ADDR <<< "$IN" for i in "${ADDR[@]}"; do echo "Element:$i" done #split 17.0.0 into NUM IFS='.' read -a array <<<${ADDR[3]}; for element in "${array[@]}" do echo "Num:$element" done вывод One XX …

8
Сортировать массив путей к файлам по их базовым именам
Предположим, что у меня есть список путей файлов, хранящихся в массиве filearray=("dir1/0010.pdf" "dir2/0003.pdf" "dir3/0040.pdf" ) Я хочу отсортировать элементы в массиве в соответствии с базовыми именами имен файлов в числовом порядке sortedfilearray=("dir2/0003.pdf" "dir1/0010.pdf" "dir3/0040.pdf") Как я могу это сделать? Я могу сортировать только их базовые части: basenames=() for file in …
8 bash  filenames  sort  array 

3
Ссылка на переменные массива bash из другого массива
Я хочу написать скрипт для ссылки на несколько массивов из другого массива, который содержит имена переменных этих массивов. Вот мой код до сих пор: #!/bin/bash array1=('array1string1' 'array1string2') array2=('array2string1' 'array2string2') array_names=('array1' 'array2') for a in ${array_names[@]} do for b in ${a[@]} do echo $b done done Я хотел бы, чтобы выходные …

5
Алфавитные слова в именах файлов с помощью сортировки?
Читая руководства по пакетному переименованию файлов в bash и используя sortкоманду для сортировки содержимого файла, я не смог понять, как их объединить. У меня есть каталог, содержимое которого отсортировано с помощью тегов в имени файла, подобно тому, как программа TagSpaces обрабатывает вещи. Я добавляю любые теги, которые могу придумать, в …
8 bash  rename  sort 

1
Создание моей собственной функции cp в bash
Для задания меня просят умно написать функцию bash, которая имеет те же основные функции, что и функция cp(копия). Нужно только скопировать один файл в другой, поэтому несколько файлов не будут скопированы в новый каталог. Поскольку я новичок в языке bash, я не могу понять, почему моя программа не работает. Оригинальная …

5
если оператор запрашивает идентификатор пользователя в etc / passwd?
Используя bash, я пытаюсь сделать запрос /etc/passwdдля любых пользователей с идентификатором более 1000. Если они существуют, то делайте что-то другое. Я в тупике. Любая помощь приветствуется. if [ "$(id -u)" -gt "1000" </etc/passwd]; then do something else do something else fi

3
Добавление чрезвычайно больших чисел в сценарии оболочки
Предположим, что два числа хранятся в двух разных файлах, a.txtи b.txt. Каждое число достаточно большое (более 30 цифр), чтобы его не поддерживал числовой тип данных, используемый bash. Как я могу добавить их в оболочку?

1
Bash Globbing не так, как ожидалось
Это является домашним заданием вопроса: Сопоставьте все имена файлов с 2 или более символами, которые начинаются со строчной буквы, но не заканчиваются заглавной буквой. Я не понимаю, почему мое решение не работает. Поэтому я выполнил следующее: touch aa touch ha touch ah touch hh touch a123e touch hX touch Ax …

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