簡體   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