Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/bash/18.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 执行读命令时shell_Bash - Fatal编程技术网

Bash 执行读命令时shell

Bash 执行读命令时shell,bash,Bash,请帮我找出这个问题的解决办法 #!bin/bash while read line; do if [[ $line =~ "some thing match on line"]] ; then echo "----> $line" NAME=$(echo "$line" | awk '{print $2}' | cut -d"=" -f2) PATH=$(echo "$line" | awk '{print $3}' | cut -d"=" -f2

请帮我找出这个问题的解决办法

 #!bin/bash 
 while read line; do

  if [[ $line =~ "some thing match on line"]] ; then
    echo  "---->   $line"
    NAME=$(echo "$line" | awk '{print $2}' | cut -d"=" -f2)
    PATH=$(echo "$line" | awk '{print $3}' | cut -d"=" -f2)  
  fi
done < "pattern.xml"
#output
##line 6: awk: command not found
##line 6: cut: command not found
为什么在while循环中不执行此命令 提前感谢

您正在此处设置PATH环境变量:

PATH=$(echo "$line" | awk '{print $3}' | cut -d"=" -f2) 
该变量是用于查找程序的搜索路径。因此,在循环的第一次迭代之后,您将无法找到程序,因为它不再包含像/usr/bin这样的目录

使用不同的变量名。一般来说,避免在脚本中使用所有大写变量,因为这通常是为环境变量保留的