我已经测试了这个命令
$ nmap -sP 192.168.1.* | grep 192 | awk '{print $5}'
Run Code Online (Sandbox Code Playgroud)
产生这个输出
192.168.1.1
192.168.1.33
192.168.1.34
192.168.1.36
192.168.1.41
Run Code Online (Sandbox Code Playgroud)
然后将其添加到我的.bash_alias文件中,然后获取它.
# This alias shows IPs on the local network
alias list-ip="nmap -sP 192.168.1.* | grep 192 | awk '{print $5}'"
Run Code Online (Sandbox Code Playgroud)
但是它产生了这个输出
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
Run Code Online (Sandbox Code Playgroud)
我对我正在做的事情一无所知.我只是希望输出就像我在命令行上运行它,它应该是.
您使用双引号,因此$5在设置别名时会扩展.尝试
alias list-ip="nmap -sP 192.168.1.* | grep 192 | awk '{print \$5}'"
Run Code Online (Sandbox Code Playgroud)
注意
alias list-ip='nmap -sP 192.168.1.* | grep 192 | awk "{print $5}"'
Run Code Online (Sandbox Code Playgroud)
将无法正常工作,因为扩展仍然发生,这次运行别名时.
你也可以摆脱awk,例如:
alias list-ip='nmap -sP 192.168.1.* | grep -o "192[0-9.]*"'
Run Code Online (Sandbox Code Playgroud)