Передайте выходной файл по каналу в инструмент UNIX

Я хочу передать выходной файл по каналу от инструмента SoX аудио командной строки в почтового дурака инструмента.

То, что я хочу сделать, является чем-то сродни этому:

sox /Users/someUser/Desktop/input.mp3 output.mp3 | mutt -s "someSubject" -a [output-from-sox] some@recipient.com

Вещь, которую я не знаю, как сделать, перенесена в квадратные скобки.

Я - новичок UNIX, таким образом, любые подсказки высоко ценились бы.

0
задан 17.05.2011, 10:51

0 ответов

Канал в подобной Unix операционной системе для того, чтобы запустить одну программу, беря ее стандартный вывод (который иначе перешел бы к экрану), и использование его, как введено к другой программе (вместо ее стандартного входа, который будет обычно прибывать из клавиатуры).

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

Запускать одну программу после того, как другой заканчивается, все на одной командной строке, использовании ;. Например:

sox /Users/someUser/Desktop/input.mp3 output.mp3 ; mutt -s "someSubject" -a output.mp3 some@recipient.com

Программы командной строки Unix производят "статус выхода" или "код возврата". Большинство программ производит 0, чтобы указать, что они сделали свою вещь успешно или некоторое другое значение, если была проблема. Если Ваша первая команда похожа на это, использовать && вместо ; только выполнять вторую команду, если первый был успешен. Например:

sox /Users/someUser/Desktop/input.mp3 output.mp3 && mutt -s "someSubject" -a output.mp3 some@recipient.com
2
ответ дан 24.11.2019, 06:40

Теги

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