1

このコマンドをテストしました

$ 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

私は自分が間違っていることについて手がかりがありません。コマンドラインで実行したときのように出力したいだけで、そうあるべきです。

4

1 に答える 1

7

二重引用符を使用するため$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.]*"'
于 2013-05-04T17:53:55.683 に答える