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

8
Улучшение моего Bash-скрипта

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

8
Ловушка Ctrl-C в скрипте awk

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

8
Sed с редактированием на месте меняет группу владельцев файла

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

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

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

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

Учитывая приведенный ниже сценарий, как я могу убедиться, что аргумент содержит только допустимое имя файла, /home/charlesingalls/а не путь ( ../home/carolineingalls/), подстановочный знак и т. Д.? Я только хочу, чтобы скрипт мог удалить один файл из заданного жестко закодированного каталога. Этот...

8
Запустите пока true в сценарии systemd

Я получил bash-скрипт, по сути работающий так: #!/bin/bash [...] while true; do str="broadcast "`randArrayElement "messages[@]"` server_send_message $str sleep $interval done Теперь я хочу запустить это как сервис systemd, мой скрипт сервиса выглядит так: [Unit] Description=Announcer...

8
Зачем программированию на С нужен компилятор, а сценариям оболочки нет?

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

8
Трубопровод из находки в grep

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

8
Создание моей собственной функции cp в bash

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

8
Ссылка на переменные массива bash из другого массива

Я хочу написать скрипт для ссылки на несколько массивов из другого массива, который содержит имена переменных этих массивов. Вот мой код до сих пор: #!/bin/bash array1=('array1string1' 'array1string2') array2=('array2string1' 'array2string2') array_names=('array1' 'array2') for a in...

8
Разделить строку с помощью 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...

8
игнорировать «нет совпадений»

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

8
Элегантный способ построить конвейер на основе возвращаемого значения, а не кода выхода?

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

8
как сдвинуть значение массива в 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...

8
Добавление файла в файлы tbz

Я ищу способ обновить тысячи архивных файлов .tbz, поэтому я буду делать это с помощью сценария оболочки. Мне нужно добавить один файл к каждому. Мой вопрос: есть ли более быстрый способ сделать это, не извлекая содержимое каждого tbz, а затем повторно сжимая его с новым файлом, включенным в...

8
Перед установкой пакета в Debian или Ubuntu проверьте наличие нескольких зависимостей

Я уже знаю, что могу проверить, есть ли в моих репозиториях несколько зависимостей, необходимых для установки пакета в Debian или Ubuntu, выполнив следующую команду: apt policy first-package second-package ... last-package Эта команда также сообщает мне, установлен ли у меня каждый пакет или нет....

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

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

8
Как мне создать каталоги, названные в честь каждого месяца?

Я хотел бы создать имя каталога для каждого месяца. Я знаю, после некоторой игры с оболочкой, что: date -d 1/01 +%b # Gives Jan date -d 2/01 +%b # Gives Feb . date -d 12/01 +%b # Gives Dec Поэтому я использовал расширение скобки echo {1..12}/01и попытался xargs: echo {1..12}/01 | xargs -n 1 -I {}...

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

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