Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/bash/15.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Bash 如何让sed使用用户输入变量?_Bash_Awk_Sed - Fatal编程技术网

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

Bash 如何让sed使用用户输入变量?,bash,awk,sed,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_

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

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

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


    • 您必须使用双引号,并在
      IP
      周围加上
      {}

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


      已更正-需要在变量周围添加一个
      {}
      。请尝试。对不起,巴德,但它会产生以下错误:sed:-e表达式#1,字符3:`}不需要任何地址。我道歉。你是对的。谢谢它起作用了。祝你有美好的一天!更正-需要在变量周围添加
      {}
      。请尝试。对不起,巴德,但它会产生以下错误:sed:-e表达式#1,字符3:`}不需要任何地址。我道歉。你是对的。谢谢它起作用了。祝你有美好的一天!可能的重复可能的重复