在我运行echo $PATH
命令的Windows下的Git bash中,我得到以下输出:
c/Windows/System32:/c/Python27:/c/Python27/Scripts:c/HashiCorp/Vagrant/bin:/c/Program Files (x86)/GNU/GnuPG/pub:/c/Program Files (x86)/Private Shell:/c/Program Files (x86)/OpenSSH/bin:/c/HashiCorp/Vagrant/bin:/c/Program Files/Common Files/Intel/WirelessCommon/:/c/Program Files/Boot2Docker for Windows:c/Windows/System32:/c/Python27:/c/Python27/Scripts
我需要做的是将整个POSIX路径(例如/c/Program Files/Boot2Docker for Windows
)提取到bash脚本中的变量,并通过Boot2Docker for Windows
短语识别它。
答案 0 :(得分:4)
echo $PATH | grep -o "[^:]*Boot2Docker for Windows[^:]*"
返回:
/c/Program Files/Boot2Docker for Windows
答案 1 :(得分:2)
使用BASH正则表达式:
[[ $PATH =~ ([^:]*"Boot2Docker for Windows"[^:]*) ]] && echo "${BASH_REMATCH[1]}"
/c/Program Files/Boot2Docker for Windows
答案 2 :(得分:2)
将read
与自定义IFS
一起使用。
b2ddir=
IFS=: read -a a <<<"$WPATH"
for p in "${a[@]}"; do
case "$p" in
*"Boot2Docker for Windows"*)
b2ddir=$p
break
;;
esac
done
declare -p b2ddir