通过使用另一个变量+字符串将变量创建为路径

时间:2018-11-27 14:09:00

标签: linux bash shell variables scripting

我有一个变量 $ ip $ host $ ip 的值类似于102.111.232.132

我有一阵子读循环:

ips='ips.txt'
echo

n=1
while read ip; do
echo "IP $n : $ip">>check_result

host=$ip.cfg

IFS="="
while read -r port value
do
echo "Content of $port is ${value//\"/}"
done < $host

    if nmap -p $port $ip | grep \tcp| grep -q $value; 
        then
           echo "Check successful.">>check_result
        else  echo "SSH Connection not allowed!" >>check_result
        fi

        if nmap -p $port $ip | grep \tcp| grep -q $value; 
        then
           echo "HTTP Connection allowed, Check successful.">>check_result
        else  echo "HTTP Connection not allowed!" >>check_result
        fi

        if nmap -p $port $ip | grep \tcp| grep -q $value; 
        then
           echo "HTTPS Connection allowed, Check successful." >>check_result
        else  echo "HTTPS Connection not allowed!" >>check_result
        fi  

   n=$((n+1)) 

  done < $ips

我的问题是 $ host 必须是动态的,因此必须在变量 $ ip 和修订扩展名中创建它。 cfg ->例如 102.111.232.132.cfg

但是我已经尝试过 host = {$ ip}“。cfg” ,或 host = $ ip“ .cfg” 或host ='$ ip“。 cfg“”,但每次都会失败,并显示 .cfg目录或文件。

我猜。他没有意识到这个$ host值是一个Path,必须是它。

我确实搜索了很多答案,但是没有找到可以帮助我的正确答案。

<span class="md-menu-text">{{ (getNextStageName() || 'Not Available') | json }}</span>

0 个答案:

没有答案