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

10
Получите эксклюзивную блокировку чтения / записи для файла для атомарных обновлений

Я хочу иметь файл, который используется в качестве счетчика. Пользователь A запишет и увеличит это число, а пользователь B попросит прочитать файл. Возможно ли, что пользователь A может заблокировать этот файл, чтобы никто не мог читать или писать в него, пока запись пользователя A не будет...

10
Локальные переменные в zsh: что эквивалентно bash «export -n» в zsh

Я пытаюсь содержать область видимости переменной в оболочке, а дети не видят ее в zsh. Например, я набираю это в .zshrc: GREP_OPTIONS=--color=always Но если я запускаю скрипт оболочки со следующим: #!/bin/bash echo $GREP_OPTIONS Выход: --color=always в то время как я хочу, чтобы он был нулевым...

10
Кэшировать все пароли для gpg сразу? Предотвратить необходимость многократного ввода пароля gpg?

Могу ли я один раз ввести свой пароль gpg и разблокировать все мои дополнительные ключи (подпись, расшифровка, аутентификация)? На данный момент мне нужно ввести свой пароль gpg три раза (для подписи, для расшифровки, для аутентификации). Это неудобно. Я попытался придумать сценарий оболочки....

10
Команда Bash в строке выполняется, когда я создаю строку, а не когда я использую ее позже

Я относительно новичок в написании сценариев оболочки, но почти завершил сценарий, который использует программу lftp . Часть сценария, с которой у меня возникают проблемы, - это создание длинной строки команд (разделенных ;). for var in something do ... commands_to_run+="echo Result is `tail -n 1...

10
Почему в имени файла содержатся вопросительные знаки при запуске сценария на моей удаленной машине?

У меня есть крошечный скрипт, который просто выбирает текущую дату, запускает скрипт PHP и перенаправляет вывод (и ошибки) в имя файла, содержащее текущую дату. DATE=$(date +"%Y%m%d") FILE="log/${DATE}.log" php -q script.php >> $FILE 2>&1 Когда я запускаю этот скрипт на моем локальном...

10
Отправить копию вывода скрипта в файл

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

10
Использование сценария оболочки в качестве виртуального принтера

У меня есть сценарий оболочки, который принимает файл PDF в качестве аргумента и распечатывает его с дополнительными параметрами принтера. Как я могу добавить этот скрипт в качестве виртуального принтера, который можно выбрать из графического интерфейса? Сценарий оболочки представляет собой ручной...

10
Использование inotify для мониторинга каталога, но не работает на 100%

Я написал скрипт bash для мониторинга определенного каталога /root/secondfolder/: #!/bin/sh while inotifywait -mr -e close_write "/root/secondfolder/" do echo "close_write" done Когда я создаю файл с именем fourth.txtin /root/secondfolder/и записываю в него содержимое, сохраняю и закрываю его, он...

10
Как я могу удалить завершающий перевод строки в bash?

Я ищу что-то похожее на Perl chomp. Я ищу команду, которая просто печатает ввод, минус последний символ, если это новая строка: $ printf "one\ntwo\n" | COMMAND_IM_LOOKING_FOR ; echo " done" one two done $ printf "one\ntwo" | COMMAND_IM_LOOKING_FOR ; echo " done" one two done (Подстановка команд в...

10
Использование 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...

10
Передача аргументов из файла в скрипт bash

У меня такая ситуация: ./ ./myscript.sh ./arguments.txt ./test.sh Внутри myscript.shя должен запустить файл test.sh, передав ему аргументы, содержащиеся внутри arguments.txt. myscript.sh это: arguments=$(cat arguments.txt) source test.sh $arguments Это хорошо работает, если arguments.txt содержит...

10
Удалить пробелы, дефисы и подчеркивания в именах файлов?

Что такое хорошая команда для удаления пробелов, дефисов и подчеркиваний из всех файлов в каталоге или выбранных файлов? Я использую следующую команду с Thunar Custom Actions, чтобы убрать имена файлов: for file in %N; do mv "$file" "$(echo "$file" | tr -s ' ' | tr ' A-Z' '-a-z' | tr -s '-' | tr -c...

10
Скрипт для SSH и запуска команды не работает

Ниже приведен сценарий. Я хотел войти на несколько серверов и проверить версию ядра. #!/bin/bash #input server names line by line in server.txt cat server.txt | while read line do sshpass -p password ssh root@$line << EOF hostname uname -r EOF done Я ожидаю, что выходной, который идет как .....

10
Проверьте, активен ли порт telnet в сценарии оболочки

Я пытаюсь создать скрипт для проверки возможности входа через telnet. Я не хочу, чтобы действительно войти в систему; следовательно, ожидать не нужно. Я просто хочу посмотреть, смогу ли я получить приглашение для входа в систему. Это делается из системы Linux, поэтому я пытался использовать nc: nc...

10
Использование grep в операторе if-else [закрыто]

Закрыто . Этот вопрос нуждается в деталях или ясности . В настоящее время он не принимает ответы. Хотите улучшить этот вопрос? Добавьте детали и проясните проблему, отредактировав этот пост . Закрыто 5 лет назад . Почему мой код не выводится, если введенная строка отсутствует в файле. Когда я...

10
конвертировать CSV в XLS файл на Linux

Следующий скрипт Perl может конвертировать файл CSV в файл XLS проблема в том, что мне нужно установить на машину Linux много модулей Perl для того, чтобы запустить этот скрипт Perl, и на самом деле я не могу, потому что машина Linux является машиной клиента (не разрешать устанавливать модули)...

10
Переместить файл, но только если он закрыт

Я хочу переместить большой файл, созданный внешним процессом, как только он будет закрыт. Является ли эта тестовая команда правильной? if lsof "/file/name" then # file is open, don't touch it! else if [ 1 -eq $? ] then # file is closed mv /file/name /other/file/name else # lsof failed for some...