繁体   English   中英

结合两个bash命令

[英]Combining two bash commands

如果找到此代码

host raspberrypi | grep 'address' | cut -d' ' -f4

给出pi IP地址

和这个

wget --post-data="PiIP=1.2.3.4" http://dweet.io/dweet/for/cycy42

发送1.2.3.4到dweet.io流

我怎样才能从1st得到输出,以取代1st中的1.2.3.4?

将第一个命令的输出保存在变量中:

ip=$(host raspberrypi | grep 'address' | cut -d' ' -f4)
wget --post-data="PiIP=$ip" http://dweet.io/dweet/for/cycy42

顺便说一句,如果您的raspberrypi正在运行raspbian,那么获取IP地址的一种更简洁的方法:

hostname -I

将命令简化为:

ip=$(hostname -I)
wget --post-data="PiIP=$ip" http://dweet.io/dweet/for/cycy42

使之成为一线:

wget --post-data="PiIP=$(hostname -I)" http://dweet.io/dweet/for/cycy42

UPDATE

看来hostname -I为您提供了一些不同的输出。 然后可以使用它:

ip=$(hostname -I | awk '{print $1}')

要使其成为单线,可以像在前面的示例中一样将其插入第二行。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM