Как заменить выходное имя файла пользовательской командой тот вывод использования?

Скажите, что у меня есть команда cmd это создает новое имя файла, данное как аргумент:

Например,

cmd -w /root/myfile

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

Я не хочу записать файл и затем инициировать команду на нем, но поместить вывод cmd непосредственно в новой пользовательской команде.

Например, вместо того, чтобы создать файл и затем работать

 cat myfile | gpg -e > myfile.gpg

Я ищу выражение, которое непосредственно шифрует вывод.

Решение находится, вероятно, в использовании блочного устройства как

(cmd -w /dev/device) & (dd if=/dev/device | gpg -e > myfile.gpg)

Первым прибыл, первым обслужен не всегда работайте.

1
задан 30 November 2016 в 02:08

3 ответа

gpg может принять вход от и произвести или к потокам или к файлам. Если можно использовать первую команду без флага-w и избежать необходимости создавать файл, пока команда производит к stdout, можно использовать:

cmd  | gpg -e -o /path/to/myfile.gpg

, Который непосредственно запишет Ваши зашифрованные данные в файл, не создавая промежуточный файл.

0
ответ дан 3 December 2019 в 06:56

запишите функцию удара, которая берет имя файла в качестве позиционного параметра $1. Тем путем Ваши 3 команды уплотняют одной.

encrypt(){
cmd -w "$1"
cat "$1" | gpg -e > "$1".gpg
}

Место это в .bashrc, выполненный source ~/.bashrc, и использование в качестве

encrypt myfile
0
ответ дан 3 December 2019 в 06:56

Bash позволяет использовать конструкцию /dev/fd/fd для обращения к файлу с дескриптором файла fd; стандартный вход /dev/fd/0, стандартный вывод /dev/fd/1, и т.д., и конечно можно открыть другие дескрипторы файлов.

Это означает что, если у Вас есть команда cmdname, который не может произвести к стандартному выводу, но принимает a -o опция имени файла, можно заставить его записать в стандартный вывод с

cmdname -o /dev/fd/1
4
ответ дан 3 December 2019 в 06:56

Другие вопросы по тегам:

Похожие вопросы: