Вопросы с тегом «shell-script»

Вопросы о сценариях оболочки, исполняемых файлах, которые интерпретируются оболочкой (bash, zsh и т. Д.).

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. Есть ли способ, которым я могу просто проигнорировать …

6
Элегантный способ построить конвейер на основе возвращаемого значения, а не кода выхода?
Когда код состояния бесполезен, есть ли способ построить конвейер на основе вывода из stdout? Я бы предпочел, чтобы ответ был не на сценарии использования, а на вопросе сценариев оболочки. Я пытаюсь найти наиболее конкретный пакет, доступный в репозитории, угадав имя на основе кодов страны и языка. Возьмите, к примеру, это, …

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 …

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 Я хотел бы, чтобы выходные …

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

5
Изменение последних записей в списке через запятую
У меня есть огромный текстовый файл, который выглядит так: 36,53,90478,0.58699759849,0.33616,4.83449759849,0.0695335954050315,3 36,53,90478,0.58699759849,0.33616,4.83449759849,0.0695335954050315,8 36,53,90478,0.58699759849,0.33616,4.83449759849,0.0695335954050315,14 36,53,15596,0.58454577855,0.26119,2.24878677855,0.116147072052964,12 Желаемый вывод это: 36,53,90478,0.58699759849,0.33616,4.83449759849,0.0695335954050315,MI-03 36,53,90478,0.58699759849,0.33616,4.83449759849,0.0695335954050315,MI-08 36,53,90478,0.58699759849,0.33616,4.83449759849,0.0695335954050315,MI-14 36,53,15596,0.58454577855,0.26119,2.24878677855,0.116147072052964,MI-12 Я пробовал другие соответствующие посты здесь и в других сообществах, но не смог точно получить то, что хочу. ОБНОВИТЬ Это перекрестный вопрос (для этого мне нужны и ответы Unix / …

2
Трубопровод из находки в grep
Что я пытаюсь сделать? Напишите команду, которая ищет любые файлы, которые не требуются для других файлов в моем проекте. Что я пробовал? Я использую, findчтобы получить список имен файлов. Теперь я хочу использовать имена файлов в качестве строки поиска (а не файл для поиска). Я использую, find server/lib -type f …

6
Зачем программированию на С нужен компилятор, а сценариям оболочки нет?
Я написал скрипт bash и выполнил его без предварительной компиляции. Это сработало отлично. Он может работать с разрешениями или без них, но когда речь идет о программах на C, нам нужно скомпилировать исходный код. Почему?

2
Запустите пока true в сценарии systemd
Я получил bash-скрипт, по сути работающий так: #!/bin/bash [...] while true; do str="broadcast "`randArrayElement "messages[@]"` server_send_message $str sleep $interval done Теперь я хочу запустить это как сервис systemd, мой скрипт сервиса выглядит так: [Unit] Description=Announcer After=network.target [Service] ExecStart=/usr/local/bin/somescript &; disown ExecStop=/usr/bin/kill -9 `cat /tmp/somescript.pid` Type=forking PIDFile=/tmp/somescript.pid [Install] WantedBy=default.target К сожалению, …

3
Как я могу безопасно убедиться, что переменная содержит только правильное имя файла?
Учитывая приведенный ниже сценарий, как я могу убедиться, что аргумент содержит только допустимое имя файла, /home/charlesingalls/а не путь ( ../home/carolineingalls/), подстановочный знак и т. Д.? Я только хочу, чтобы скрипт мог удалить один файл из заданного жестко закодированного каталога. Этот скрипт будет запускаться как привилегированный пользователь. #!/bin/bash rm -f /home/charlesingalls/"$1"

2
Как регистрировать вызовы, используя скрипт-обертку, когда есть несколько символических ссылок на исполняемый файл
Короче говоря: я хотел бы отследить способ вызова некоторых исполняемых файлов для отслеживания поведения системы. Допустим, у меня есть исполняемый файл: /usr/bin/do_stuff И он на самом деле вызывается несколькими разными именами через символическую ссылку: /usr/bin/make_tea -> /usr/bin/do_stuff /usr/bin/make_coffee -> /usr/bin/do_stuff и так далее. Очевидно, do_stuffчто будет использоваться первый полученный аргумент, …

3
Sed с редактированием на месте меняет группу владельцев файла
У меня есть phpскрипт shell ( ), который связывается с целевым файлом следующим образом: проверяет, можно ли записать файл и каталог с помощью phps is_writable()(я не думаю, что это проблема) выполняет редактирование файла на месте с помощью sedкоманды: grep -q "$search" "$passwd_file" && { sed -i "s|$search|$replace|" "$passwd_file"; printf "Password …

1
Ловушка Ctrl-C в скрипте awk
Я верю Ctrl- Cможно поймать в ловушку bash-скриптов. Возможно ли перехватить его внутри скрипта Awk для обработки этого события? Например, для прерывания обработки, но для печати результатов того, что уже было обработано, а не просто для тихого выхода?

1
Улучшение моего Bash-скрипта
Мне нужно улучшить мой Bash-скрипт, чтобы он работал без проблем. Этот скрипт использует ds4drvв нем, и есть некоторые проблемы, которые я не уверен, как исправить. Первая проблема заключается в том, что он не всегда запускается или работает при обнаружении контроллера, я создал для него правило udev, но не ясно, почему …

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