为什么脚本和终端命令的输出之间存在差异?
Why is there a difference between the output of a Script and a Terminal Command?
为什么 bash 与终端输出相比改变了我的脚本的输出?
如果我输入
dig +noall +answer NS google.com
I get this
但是如果我用脚本来做
#!/bin/bash
echo "Domain: "
read DOMAIN
echo
DIG=$(dig +noall +answer NS $DOMAIN)
echo $DIG
我明白了
this
我希望获得与在控制台中键入命令相同的结果。
我知道我可以将它们保存并排序(不是完全排序,而是 awk)在一个文件中,但如果可能的话,我想获得相同的结果而不必将结果保存在文件中。
如果对您有帮助,我正在使用 Ubuntu 16.04
$ DIG=$(dig +noall +answer NS google.com)
$ echo $DIG
google.com. 86308 IN NS ns2.google.com. google.com. 86308 IN NS ns3.google.com. google.com. 86308 IN NS ns1.google.com. google.com. 86308 IN NS ns4.google.com.
$ echo "$DIG"
google.com. 86295 IN NS ns3.google.com.
google.com. 86295 IN NS ns1.google.com.
google.com. 86295 IN NS ns4.google.com.
google.com. 86295 IN NS ns2.google.com.
为什么 bash 与终端输出相比改变了我的脚本的输出?
如果我输入
dig +noall +answer NS google.com
I get this
但是如果我用脚本来做
#!/bin/bash
echo "Domain: "
read DOMAIN
echo
DIG=$(dig +noall +answer NS $DOMAIN)
echo $DIG
我明白了 this
我希望获得与在控制台中键入命令相同的结果。
我知道我可以将它们保存并排序(不是完全排序,而是 awk)在一个文件中,但如果可能的话,我想获得相同的结果而不必将结果保存在文件中。
如果对您有帮助,我正在使用 Ubuntu 16.04
$ DIG=$(dig +noall +answer NS google.com)
$ echo $DIG
google.com. 86308 IN NS ns2.google.com. google.com. 86308 IN NS ns3.google.com. google.com. 86308 IN NS ns1.google.com. google.com. 86308 IN NS ns4.google.com.
$ echo "$DIG"
google.com. 86295 IN NS ns3.google.com.
google.com. 86295 IN NS ns1.google.com.
google.com. 86295 IN NS ns4.google.com.
google.com. 86295 IN NS ns2.google.com.