Git-Bash,如何修改环境变量
Git-Bash, how to modify environment variable
我有一个环境变量,其中包含:
C:\Users\u49100\OneDrive\Documents\CA20-4021_BUILD_1.0.876\Name\sc_app
我想在脚本剥离中修改环境变量:
C:\Users\u49100\
所以结果可以赋给一个新的变量:
OneDrive\Documents\CA20-4021_BUILD_1.0.876\Name\sc_app
有没有办法做类似下面的事情:
NEW_VARIABLE=$FULL_DIR - $DIR_PREFIX
其中 $FULL_DIR 包含完整目录,$DIR_PREFIX 包含要删除的目录开头的前缀。
经过大量搜索和尝试,我发现了以下内容:
获取环境变量的字符长度:
echo ${#VARNAME}
从环境变量中获取子字符串:
echo ${VARNAME:start:length}
其中 "start" 是基数 0,"length" 是要提取的字符数,长度是可选的,如果未提供,则只需使用:
echo ${VARNAME:start}
将从指定的起始偏移量开始生成全部内容。
所以对于我的情况,解决方案是:
export NEW_VARIABLE=${FULL_DIR:${#DIR_PREFIX} + 1}
要搜索任何 space 并将其替换为转义的 space:
export NEW_VARIABLE=${NEW_VARIABLE// /\ }
“//”是替换所有实例,如果只是“/”则只替换第一个,“/\”是 space 字符的转义版本。
我有一个环境变量,其中包含:
C:\Users\u49100\OneDrive\Documents\CA20-4021_BUILD_1.0.876\Name\sc_app
我想在脚本剥离中修改环境变量:
C:\Users\u49100\
所以结果可以赋给一个新的变量:
OneDrive\Documents\CA20-4021_BUILD_1.0.876\Name\sc_app
有没有办法做类似下面的事情:
NEW_VARIABLE=$FULL_DIR - $DIR_PREFIX
其中 $FULL_DIR 包含完整目录,$DIR_PREFIX 包含要删除的目录开头的前缀。
经过大量搜索和尝试,我发现了以下内容:
获取环境变量的字符长度:
echo ${#VARNAME}
从环境变量中获取子字符串:
echo ${VARNAME:start:length}
其中 "start" 是基数 0,"length" 是要提取的字符数,长度是可选的,如果未提供,则只需使用:
echo ${VARNAME:start}
将从指定的起始偏移量开始生成全部内容。
所以对于我的情况,解决方案是:
export NEW_VARIABLE=${FULL_DIR:${#DIR_PREFIX} + 1}
要搜索任何 space 并将其替换为转义的 space:
export NEW_VARIABLE=${NEW_VARIABLE// /\ }
“//”是替换所有实例,如果只是“/”则只替换第一个,“/\”是 space 字符的转义版本。