Tag: трубы

Порядок сигналов: SIGPOLL и SIGCHLD

Я создаю дочерний процесс и подключаюсь к нему с помощью трубы. Я настраиваю канал для отправки SIGPOLL на данные, доступные fcntl I_SETSIG . Ребенок отправляет некоторые данные по каналу, а затем завершает работу. Могу ли я быть уверенным, что SIGPOLL будет получен до SIGCHLD ? (или может в этой ситуации я получаю только SIGCHLD без […]

Отдельное состояние выполнения команд с каналами

В команде, где у нас есть много каналов, перенаправляющих их выходы дальше, есть ли способ узнать значение echo $? до половины его выполнения или до определенного количества труб, в отличие от общего состояния всей команды? Чтобы проиллюстрировать это, я запускаю команду ниже, чтобы получить временную метку файла, который будет преобразован в его эпоху, `ls -lrt […]

статус выхода и отсутствие выхода

У меня есть такая команда, что bar > /dev/null и я хочу знать статус выхода в баре. Я прочитал несколько сообщений о $ {PIPESTATUS[0]} но это работает, когда один {PIPESTATUS[0]} выводит через | и я не могу заставить его работать с > вместо этого. Что мне не хватает?

Зашифрованный архив труб в загрузчик

Предположим, я архивирую несколько файлов с такими функциями: gen_password () { gpg –gen-random 1 "$1" | perl -ne' s/[\x00-\x20]/chr(ord($^N)+50)/ge; s/([\x7E-\xDB])/chr(ord($^N)-93)/ge; s/([\xDC-\xFF])/chr(ord($^N)-129)/ge; print $_, "\n"' } archive () { ARCHIVE_NAME="$1" PASSWORD=$(gen_password 32) 7za a -p"$PASSWORD" -mhe — "$ARCHIVE_NAME" "$@" echo "Created 7z archive with password '$PASSWORD'" } Это хорошо работает, и я попытался загрузить зашифрованный архив […]

Цветной выход git, подаваемый на губку

git будет окрашивать его. Поэтапные изменения зеленые и удаленные файлы, например, красные. У меня есть скрипт, выполняющий несколько команд git параллельно, и я использую sponge чтобы получить более приятный результат. Но использование sponge удаляет цвета, есть ли способ изменить это?

Развернуть переменную bash в команде pipeed

Это функция, которую я использую или пытаюсь использовать для восстановления базы данных в контейнере докеров: function restoredb() { # source: see above local wkdir="pwd | rev | cut -d "/" -f1 | rev" local container='echo ${wkdir}_my-wpdb_1' cat backup.sql | docker exec -i ${container} /usr/bin/mysql -u root –password=dockerpass wordpress } Я хотел бы, чтобы функция docker […]

Как использовать разделитель полей и игнорировать строки в awk без трубопроводов?

Можно ли избавиться от команды вырезания в этой строке и без соединения с другой командой? awk 'NR > 1 {print l}{l=$2}' filename | cut -d':' -f2 Подробности, если вы хотите или нуждаетесь в них: [Это вопрос интереса, а не необходимость – я мог / сделал использование, как описано выше, чтобы облегчить работу) Мне удалось получить […]

Как обнаружить ошибку с помощью замены процесса

Этот вопрос похож на следующую ссылку , но сфокусирован на использовании командной строки (bash shell). Используя простой пример, выполните следующую команду: $ cat <(date); echo $? Fri Jul 7 21:04:38 UTC 2017 0 Значение выхода равно 0, как ожидалось. В следующей команде есть ошибка, введенная специально, но возвращаемое значение равно 0: $ cat <(datE); echo […]

Проверьте, не удалось ли выполнить команду

Возможный дубликат: Получить код завершения процесса, который передается в другой Если я передам вывод одной команды в другую, есть ли способ, чтобы я мог явно проверить, не сработала ли первая команда? Например, если prog обрабатывает файл и выводит его в STDOUT: prog file1 | cmp – file2 есть ли способ проверить, явно ли prog или […]

цветной выход

это цвет сценария #!/bin/bash ESC_SEQ="\x1b[" COL_RESET=$ESC_SEQ"39;49;00m" case $1 in red ) COL_START=$ESC_SEQ"31;01m" ;; green) COL_START=$ESC_SEQ"32;01m" ;; yellow ) COL_START=$ESC_SEQ"33;01m" ;; blue ) COL_START=$ESC_SEQ"34;01m" ;; mage ) COL_START=$ESC_SEQ"35;01m" ;; cyan ) COL_START=$ESC_SEQ"36;01m" ;; esac echo -ne $COL_START while read text; do echo $text done echo -ne $COL_RESET когда я делаю curl localhost:8080/ он отвечает обычным выходом […]

Linux и Unix - лучшая ОС в мире.