Bash 如何让sed使用用户输入变量?
sed似乎没有意识到$IP变量。 我怎样才能使以下各项发挥作用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_
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:`}不需要任何地址。我道歉。你是对的。谢谢它起作用了。祝你有美好的一天!可能的重复可能的重复