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这样的目录
使用不同的变量名。一般来说,避免在脚本中使用所有大写变量,因为这通常是为环境变量保留的