我已经测试了这个命令
$ nmap -sP 192.168.1.* | grep 192 | awk '{print $5}'
产生此输出
192.168.1.1
192.168.1.33
192.168.1.34
192.168.1.36
192.168.1.41
然后将其添加到我的.bash_alias文件中,然后获取它。
# This alias shows IPs on the local network
alias list-ip="nmap -sP 192.168.1.* | grep 192 | awk '{print $5}'"
但是它产生了这个输出
Nmap scan report for 192.168.1.1
Nmap scan report for 192.168.1.33
Nmap scan report for 192.168.1.34
Nmap scan report for 192.168.1.36
Nmap scan report for 192.168.1.41
我对我做错的事情一无所知。我只想让输出像在命令行上运行一样,它应该是。
答案 0 :(得分:6)
您使用双引号,因此在设置别名时会扩展$5
。尝试
alias list-ip="nmap -sP 192.168.1.* | grep 192 | awk '{print \$5}'"
请注意
alias list-ip='nmap -sP 192.168.1.* | grep 192 | awk "{print $5}"'
将不工作,因为扩展仍然发生,这次是您运行别名。
你也可以摆脱awk
,例如:
alias list-ip='nmap -sP 192.168.1.* | grep -o "192[0-9.]*"'