DMGR_PATH.out
文件包含
/opt/IBM/WebSphere/70/AppServer/profiles/Dmgr01/config CELLNAME
/IBM/websphere/was7.0/profiles/Dmgr01/config CELLNAME
现在我尝试读取该文件并按如下所示对行进行子字符串化。
while IFS= read -r PATH; do
if [[ $PATH == /IBM/* ]] && [[ "$1" == "XX" ]]; then
SEARCH_DIR=$PATH
else if [[ $PATH == /opt/* ]] && [[ "$1" == "YY" ]]; then
SEARCH_DIR=$PATH
fi
fi
done<DMGR_PATH.out
echo "$SEARCH_DIR" | cut -d' ' -f1
但它显示这个错误。
a: line 9: cut: No such file or directory
有人可以帮忙解决这个问题吗?
答案1
PATH
您在脚本中使用该变量作为循环变量。这恰好也是 shell 用于查找外部实用程序/命令的环境变量。
cut
这就是为什么它在循环后找不到外部实用程序。
请使用其他变量名。
一般来说,我个人倾向于避免在 shell 脚本中使用大写变量名,除非我特别想使用从 shell 本身导出到脚本中的变量值,例如HOME
、PWD
和PATH
。