2017-07-18 70 views
-1

我正在嘗試確定端點的IP並將其寫入文件。 當我鍵入:如何僅將命令的結果輸出到文件?

dig +short endpoint.com 

在命令提示符下 我得到:

10.50.4.235 

然而,當我嘗試在腳本中使用此命令編寫輸出到文件:

dig +short $EndpointName > /home/ec2-user/endpoint-ip.txt 

我在文件中得到這個:

endpoint.com 
10.50.4.235 

它包含變量的值,我寧願只是結果(僅限ip)。非常感謝你的幫助。

+0

嘗試'host endpoint.com'。也許你需要使用'grep'來更好地過濾它。 – Azize

+0

當stdout是終端或文件而不是管道時,某些命令的操作方式會有所不同。試試'dig + short endpoint.com'和'dig + short endpoint.com |貓' –

+0

你需要引用「$ EndpointName」。 – hek2mgl

回答

0

嘗試revese的endpoint.com

dig +short endpoint.com | grep -v endpoint.com > endpoint-ip.txt 
+0

謝謝你 - 這產生了相同的結果 - 文件中的兩個條目: FQDN和 IP – kavise

+0

嘗試更改輸出文件名,也許別的東西正在寫入文件。此外,EndpointName.txt包含多少行? – user2286991

1
#!/bin/bash 
URL="endpoint.com" 
dig +short $URL > dig-ip.txt 

文件中的結果只給出了IP的grep。

cat dig-ip.txt 
23.239.26.161 

必須修改您賦值給變量$ EndPointName的值。

+0

謝謝我試過使用「around'EndpointName',但腳本失敗 - 錯誤是」無法運行命令EndpiontName ...等「 – kavise

+0

變量$ EndpointName您在哪裏取值,某個文件或另一個命令的結果?@kavise – aramirez

相關問題