Вопросы с тегом «pipe»

10
Как изменить вывод в командном конвейере bash

Например, я получил из какой-то команды несколько строк $ some-command John Bob Lucy Теперь я хотел бы добавить команду цепочки, которая изменяет вывод. $ some-command | other-command Hi John Bye Hi Bob Bye Hi Lucy Bye Как писать other-command? (Я новичок в...

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

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

10
Переменные окружения не устанавливаются, когда моя функция вызывается в конвейере

У меня есть следующая рекурсивная функция для установки переменных среды: function par_set { PAR=$1 VAL=$2 if [ "" != "$1" ] then export ${PAR}=${VAL} echo ${PAR}=${VAL} shift shift par_set $* fi } Если я вызываю его сам по себе, он устанавливает переменную и выводит stdout: $ par_set FN WORKS...

10
проверьте md5sum из трубы

Я запутался, как md5sum --checkпредполагается работать: $ man md5sum -c, --check read MD5 sums from the FILEs and check them У меня есть файл, я могу передать его md5sum: $ cat file | md5sum 44693b9ef883e231cd9f90f737acd58f - Когда я хочу проверить целостность файла завтра, как я могу проверить,...

10
Как прочитать пользовательский ввод при использовании скрипта в трубе

Общая проблема Я хочу написать сценарий, который взаимодействует с пользователем, даже если он находится в середине цепочки каналов. Конкретный пример Конкретно, требуется fileили stdin, отображает строки (с номерами строк), просит пользователя ввести выбор или номера строк, а затем печатает...

10
Передача сценария с надписью «read» в bash

Мне нужно запустить сценарий по конвейеру через bashс wget(а не работает непосредственно с Баш). $ wget -O - http://example.com/my-script.sh | bash Это не работает, потому что в моем сценарии есть readоператоры. По какой-то причине они не работают при подключении к bash: # Piping to bash works in...

10
Полностью буферизировать вывод команды перед передачей в другую команду?

Есть ли способ выполнить команду только после выполнения другой без временного файла? У меня есть одна более длинная команда и другая команда, которая форматирует вывод и отправляет его на HTTP-сервер с помощью curl. Если я просто выполню commandA | commandB, commandBзапустится curl, подключусь к...

10
Тройник тормозит трубопроводы?

Мне интересно, замедляет ли тройник трубопроводы. В конце концов, запись данных на диск происходит медленнее, чем их передача. Дождется ли передача данных в следующий канал, пока они не будут записаны на диск? (Если нет, то, наверное, нужно поставить в очередь данные, которые были отправлены...

10
Какое распределение вероятностей моделирует это состояние гонки?

Рассмотрим следующую команду: bash -c "echo x; cat 1" | tee 1. Насколько я понимаю, он будет переходить в новую оболочку, писать xв stdout, писать file 1 not foundв stderr, выходить и возвращать управление родительскому процессу, а также писать xв stdout и to 1. Следовательно, я ожидаю, что...

10
Как отправить весь вывод `logger` в оболочке POSIX?

Я хотел бы регистрировать стандартный вывод и стандартную ошибку отдельно при .xprofileиспользовании logger. В Bash я думаю, что это будет выглядеть примерно так: exec 1> >(logger --priority user.notice --tag $(basename $0)) \ 2> >(logger --priority user.error --tag $(basename $0)) Как...

10
`Докер логи Foo | less` не доступен для поиска или прокрутки, но `docker logs foo 2> & 1 | меньше

Использование любого из них дает читабельный текст. Но только с помощью перенаправления stderr можно прокрутить или набрать / somepattern и получить совпадения. Без этого поиск дает «Ничего не искать (нажмите RETURN)» и столбец ~. Учитывая, что stderr и stdout не одно и то же, но почему меньше...

10
Функция Bash, которая принимает входные данные от параметра или канала

Я хочу написать следующую функцию bash таким образом, чтобы она могла принимать входные данные из аргумента или канала: b64decode() { echo "$1" | base64 --decode; echo } Желаемое использование: $ b64decode "QWxhZGRpbjpvcGVuIHNlc2FtZQ=" $ b64decode < file.txt $ b64decode <<<...

10
Как передать аргумент скрипту, который вводится в bash

Прямо сейчас у меня есть одна строка, как это: curl -fsSL http://git.io/vvZMn | bash Он загружает скрипт и передает его в bash как файл stdin. Я хотел бы запустить этот скрипт с дополнительным аргументом print. Может как то так? curl -fsSL http://git.io/vvZMn | bash -- print Но это не...

10
Можно ли выставить TCP-туннель в Linux как устройство специального символа?

Недавно я обнаружил в документации QNX, что она позволяет устанавливать IPC на основе сообщений между процессами на отдельных физических машинах с помощью serial device ( dev/serX), и это заставило меня задуматься: Возможно ли в Linux создание общесистемного специального устройства для туннеля TCP...

10
Состояние выхода Bash используется с PIPE

Я пытаюсь понять, как состояние выхода передается при использовании канала. Предположим, я использую, whichчтобы найти несуществующую программу: which lss echo $? 1 Поскольку whichне удалось найти, lssя получил статус выхода 1. Это нормально. Однако, когда я пытаюсь следующее: which lss | echo $? 0...

9
Как прочитать пользовательский ввод из канала?

Предположим, у меня есть файл confirmation.shсо следующим содержимым: #!/bin/bash echo -n "Are you sure [Y/n]? " read line case "$line" in n|N) echo "smth" ;; y|Y) echo "smth" ;; esac и я хочу запустить этот скрипт следующим образом: cat confirmation.sh | sh Я вижу, Are you sure [Y/n]?и сценарий...

9
Передача выходных данных скрипта bash после перенаправления stderr [закрыто]

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

9
Как заставить чтение и запись одного и того же файла в одном и том же конвейере всегда «терпеть неудачу»?

Скажем, у меня есть следующий скрипт: #!/bin/bash for i in $(seq 1000) do cp /etc/passwd tmp cat tmp | head -1 | head -1 | head -1 > tmp #this is the key line cat tmp done В ключевой строке я читаю и пишу один и тот же файл, tmpкоторый иногда не удается. (Я читал, что это из-за условий гонки,...

9
Как дать список через запятую в качестве аргументов для следующей команды

У меня есть скрипт, s1который выводит список чисел, разделенных ',' например 1,2,3,4. Теперь я хочу дать эти числа сценарию в s2качестве аргументов, чтобы s2 запускался на каждом из них и выводил свой результат в отдельной строке. Например, если s2 умножает числа на два, это будет результат,...