Запитання з тегом «shell-script»

Запитання щодо скриптів оболонки, виконуваних файлів, які інтерпретуються оболонкою (bash, zsh тощо).

1
Використання ініціації для моніторингу каталогу, але не працює на 100%
Я написав сценарій bash для моніторингу конкретного каталогу /root/secondfolder/: #!/bin/sh while inotifywait -mr -e close_write "/root/secondfolder/" do echo "close_write" done Коли я створюю файл з ім'ям fourth.txtв /root/secondfolder/і писати матеріал до нього, збережіть і закрийте його, він видає наступне: /root/secondfolder/ CLOSE_WRITE,CLOSE fourth.txt Однак це не лунає "close_write". Чому так?

1
Використання getopts для розбору варіантів після аргументу, що не є варіантом
У мене є файл bash, як показано нижче у файлі nepleaks_upd.sh, який я хочу запустити як ./nepleaks_upd.sh bootstrap --branch off. Не вдалося це взяти --branch, але те, з чим він працює ./nepleaks_upd.sh bootstrap -b off. usage() { echo "Usage: $0 [prepare | up | down] [-b <on/off>]" 1>&2; exit 1; …

3
Використання сценарію оболонки як віртуального принтера
У мене є сценарій оболонки, який приймає файл PDF в якості аргументу і друкує його з додатковими опціями для принтера. Як я можу додати цей скрипт як віртуальний принтер, який можна вибрати з графічного інтерфейсу? Сценарій оболонки - це ручний дуплексний скрипт, який займає файл PDF, друкує навіть сторінки, надає …

2
Надіслати копію вихідного сценарію у файл
Скажіть, у мене є сценарій Zsh і що я хотів би дозволити йому друкувати вихід STDOUT, а також скопіювати (скинути) його вихід у файл на диску. Більше того, сценарій починається з наступної опції set -o xtrace що змушує його бути багатослівним і друкувати, які команди він виконує. Я хотів би …

2
Команда Bash у рядку виконується, коли я створюю рядок, а не коли я її використовую пізніше
Я відносно новачок сценаріїв оболонок, але майже завершив сценарій, який використовує програму lftp . Частина сценарію, з якою я маю проблеми, - це коли я створюю довгий рядок команд (розділений на ;). for var in something do ... commands_to_run+="echo Result is `tail -n 1 $somefile`;" done Що я помічаю, це …

2
Кешувати відразу всі паролі підрозділу gpg? Запобігти необхідність введення кількох gpg-паролів?
Чи можу я ввести свій gpg-пароль лише один раз і розблокувати всі підключі (підписання, розшифрування, автентифікацію)? На даний момент мені потрібно ввести свій gpg пароль тричі (для підписання, для розшифровки, для автентифікації). Це незручно. Я спробував придумати сценарій оболонки. #!/bin/bash set -x set -e set +o history signing_key=77BB3C48 encryption_key=CE998547 tempfile="$(mktemp)" …

2
Локальні змінні в zsh: що еквівалент bash "export -n" в zsh
Я намагаюся містити область змінної до оболонки, а не мати дітей, бачити її, в zsh. Наприклад, я набираю це в .zshrc: GREP_OPTIONS=--color=always Але якщо я запускаю скрипт оболонки із наступним: #!/bin/bash echo $GREP_OPTIONS Вихід: --color=always хоча я хочу, щоб він був нульовим (сценарій оболонки вище взагалі не повинен бачити змінну …


4
Повернення значення з функції bash
У мене є функція, яка повертає 1, якщо число є дійсним десятизначним числом: valNum() { flag=1 if [[ $1 != [1-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9] ]]; then echo "Invalid Number" flag=0 fi return $flag } Його називають: if [[ $(valNum $num) -eq 1 ]]; then #do something fi Функція працює нормально, якщо число є …

3
Призначення виводу запиту SQL змінній
Я підключаюсь до бази даних oracle і запускаю запит і призначаю вихідну змінну, але коли я повторюю значення змінної, вона не надрукується правильно. count=`sqlplus -s $configuser/$configpass@$ORACLE_SID <<END set pagesize 0 feedback off verify off heading off echo off; select max(cust_id) from cutomers exit; END` echo $count Запит повертає правильний результат …

5
Як я можу використовувати запит If-Else на основі дня тижня?
Проблема: мені потрібно перевірити, чи сьогодні сьогодні четвер, і виконувати різні дії на основі результату цієї умови. Я спробував два різних підходи: Отримання імені дня: DAYOFWEEK=$(date +"%a") echo DAYOFWEEK: $DAYOFWEEK if ["$DAYOFWEEK" == "Thu"]; then echo YES else echo NO fi Отримання числа за день: DAYOFWEEK=$(date +"%u") echo DAYOFWEEK: $DAYOFWEEK …

2
Хороший метод порівняння часу?
Мені потрібно перевірити поточний час і скасувати сценарій, якщо це не належний час доби, я повинен запустити його. Крім того, якщо хтось інший керує ним, він повинен абортувати. Наприклад: мені потрібен мій сценарій, якщо він запускається між 22:00 та 2:00 (вікно 4 години). В даний час я роблю наступне. Витрата …

1
Знайдіть усі папки в каталозі з однаковим вмістом
Чи можна в Ubuntu знайти повторювані папки в каталозі (тобто папки з однаковим вмістом)? Я думаю, що вже є деякі інструменти командного рядка для пошуку дублікатів файлів (наприклад, fdupes), але я хочу знайти дублікати папок. Тобто знайдіть папки, які відповідають змісту файлів, які вони містять (хоча імена файлів та інші …

3
сценарії оболонки досі працюють без #! (рядок sha-bang)
Я новачок у скриптах оболонки, і багато книг написали, що використовують рядок #! (Sha-bang) при запуску скрипту для виклику інтерпретатора. І це буде викликати нову оболонку для сценарію та робити інтерпретацію за рядком мого основного сценарію все ще працює без магічної лінії. тому мої запитання: звідки мій базовий сценарій взяв …

3
Як встановити сценарій, який буде запущений при запуску у FreeBSD?
Я використовую FreeBSD 9 і хочу створити сценарій, який перевірить, чи підключений кабель Ethernet, і якщо так, то він підключається до нього. Я хочу встановити його так, щоб він працював щоразу, коли машина запускається або коли я входив у систему. Я переглянув свою книгу UNIX (вона досить застаріла і стосується …

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.