如何让sed使用用户输入变量?

时间:2017-06-10 01:20:36

标签: bash awk sed

似乎sed并不知道$ IP变量。 我怎样才能使以下工作?

read -p "Please enter the line number with the IP you wish to block from accessing the Internet? " IP

echo $IP

IP_LINE_NUMBER=`nmap -n -sn 192.168.3.0/24 -oG - | awk '/Up$/{print $2}' | sed  '$IPq;d'`

echo $IP_LINE_NUMBER

1 个答案:

答案 0 :(得分:0)

您必须使用双引号并将{}放在IP附近:

ip_line_number=$(nmap -n -sn 192.168.3.0/24 -oG - | awk '/Up$/{print $2}' | sed  "${IP}q;d")
  • 注意:您需要命令替换$(...)才能将输出输入变量

另见: