gpt4 book ai didi

linux - 单个 bash 行中的嵌套命令

转载 作者:塔克拉玛干 更新时间:2023-11-03 01:35:41 31 4
gpt4 key购买 nike

使用 bash,如何在一行中发送一个命令的输出文件以用作第二个命令中的变量?

我正在尝试使用 streamer 和 mutt 使用我的网络摄像头拍照,然后将其通过电子邮件发送到电子邮件地址。我已经了解了以下内容,但不确定如何告诉 mutt 使用在之前的(流媒体)命令中创建的文件。

streamer -o image.jpg && echo "email body" | mutt -a (file from previous command) -s Subject -- recipient@email.com

最佳答案

如果我了解 streamer 的工作原理,您可以使用进程替换:

echo "email body" | mail -a <( streamer )

Shell 为 -a 选项提供一个文件名,mail 可以读取该文件名以访问 streamer 的标准输出。

否则,只需使用 mbratch 建议的名称,因为在 streamer 成功完成之前,邮件管道不会运行:

streamer -o image.jpg && echo "email body" | mail -a image.jpg

或者,使用一些关于命令行的知识来避免输入 image.jpg 两次,使用

streamer -o image.jpg && echo "email body" | mail -a !#:2

重用当前命令行的第三个单词(从 0 开始计数)以获取 streamer 用于输出的文件的名称。

关于linux - 单个 bash 行中的嵌套命令,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19520012/

31 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com