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

8
Проверка на наличие нескольких каталогов

Я хочу проверить наличие нескольких каталогов, скажем dir1, dir2и dir3в рабочем каталоге. У меня есть следующее if [ -d "$PWD/dir1" ] && [ -d "$PWD/dir2" ] && [ -d "$PWD/dir3" ]; then echo True else echo False fi Но я подозреваю, что есть более элегантный способ сделать это. Не...

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 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
Может $! вызвать условия гонки при использовании в скриптах, работающих параллельно?

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

7
Как запустить часть скрипта с ограниченными правами?

У меня следующая проблема: На каждой машине, на которой работает Postgresql, есть специальный пользователь postgres . Этот пользователь имеет административный доступ к серверу базы данных. Теперь я хочу написать скрипт Bash, который выполняет команду базы данных с psql в качестве пользователя...

7
Сглаживание иерархии каталогов с сохранением имен каталогов в новом имени каталога

Я в основном хочу пойти из этого: . ├── Alan Walker │   ├── Different World │   │ ├── 01 Intro.mp3 │   │ ├── 02 Lost Control.mp3 │   │ └── cover.jpg │   └── Same World │   ├── 01 Intro.mp3 │   └── 02 Found Control.mp3 ├── Aurora │   └── Infections Of A Different Kind Step 1 │   ├── 01 Queendom.lrc...

7
Существует ли дистрибутивное программное обеспечение для управления конфигурацией?

Я не хочу маркировать себя определенными модулями менеджера конфигурации, такими как aptмодуль или yumмодуль Ansible . Существует ли программное обеспечение для управления дистрибутивной конфигурацией или хотя бы одно с дистрибутивным кодом для установки следующих пакетов для Arch Linux ? Я...

6
Как мы можем использовать несколько переменных в одном цикле for в сценарии оболочки?

Я реализую как код ниже, используя для цикла, но неправильный вывод после запуска сценария. for i in `awk -F"|" '{print $1}' $INPUTFILE`, j in `awk -F"|" '{print $2}' $INPUTFILE` do echo $i:$j done Пожалуйста, помогите мне использовать несколько переменных в одном цикле for в скрипте...

4
Если еще, Awk NR: Как удалить заголовок раздела таблицы, где нет записей

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

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

Я пытаюсь сделать, это создать скрипт bash, который будет запускать другой скрипт bash для компиляции некоторых программ, только если источник изменился. Пока у меня есть способ получить метки времени для каждого файла в секундах с эпохи J2000: #get a list of the source timestamps...

3
grep файл журнала, начиная с определенного времени и до конца файла

У меня есть файл журнала, который имеет дату и время в начале каждой строки. Мне нужно искать файл журнала, начиная с определенного времени до конца файла. Например: Starting point: July 29 2018 21:00:00 End point : end of file Я обеспокоен тем, что даже если шаблон July 29 2018 21:00:00не...

2
Объединить повторный префикс

У меня есть файл журнала, как: Bug123:c:SomeComment Bug222:c:SomeOtherComment Bug123:c:SecondComment Мне нужно произвести: Bug123 SomeComment SecondComment Bug222 SomeComment Используя bash, я не могу придумать способ сделать это простым способом. Есть...

1
Как отключить USB-флешку от скрипта, который находится на USB-флешке?

Как я могу размонтировать usbstick прямо из скрипта, который убивает себя. Поскольку я запускаю скрипт с флешки, невозможно просто размонтировать его, потому что всегда есть ошибка: устройство или ресурс заняты. Итак, какой самый простой способ: я должен выполнить сценарий на компьютере через мой...

0
Несколько FIFOS по SSH

Сценарий оболочки допускает несколько файловых дескрипторов (до 9 для соответствия POSIX, но даже больше для bash): $ install -m 755 /dev/stdin /tmp/test <<\EOF #!/bin/sh echo hi1 >&1 echo hi2 >&2 echo hi3 >&3 echo hi4 >&4 EOF $ /tmp/test 1> /tmp/1 2> /tmp/2...

0
Как сравнить пользовательский ввод с контентом в текстовом файле?

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

-1
вставить текущую дату в место пустого столбца (поля) файла

У меня есть файл с четырьмя столбцами, разделенными "|" как показано ниже 23414|test doc for me|| 32322|test doc for you|2004_12_03| 13454|test doc for all||2010_11_01 Я пытаюсь вставить текущую системную дату в пустые столбцы, чтобы выходные данные выглядели как 23414|test doc for...