почему командная строка Ubuntu не запрашивает после выполнения команды mail?

uuencode text.txt | mail -s "hai" "abc@gmail.com" < body.txt

после выполнения этой команды терминал пуст. Это не подсказка для следующей команды. Я должен нажать Ctrl + Z, чтобы вернуться в терминал.

В чем может быть проблема?

0
задан 19 October 2013 в 20:44

1 ответ

Ну, ты так не делаешь ;-) Хорошая попытка, хотя!

Вы используете трубу "|" записать вывод вашей команды uuencode в канал ввода (он же стандартный ввод) стандартного ввода команды mail. Вы также используете перенаправление оболочки "<" записать содержимое файла body.txt в канал ввода вашей почтовой команды.

Это неоднозначно. Я не уверен прямо сейчас, что имеет приоритет, или как оболочка справляется с ситуацией. Вы, вероятно, в конечном итоге с одной из программ, запрашивающих ввод.

Лучше уточнить для оболочки, что делать, в каком порядке. То есть записав:

(cat body.txt; uuencode text.txt) |mail -s "hai" "abc@gmail.com"

Это выполняет cat (файловый принтер) и uuencode в один прием (точнее в подоболочке из-за круглых скобок) и передает общий вывод в почтовую программу

0
ответ дан 19 October 2013 в 20:44

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

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