SRC_EXE_HELPER_EXE_NAME=(
$SRC_EXE_DIR_NAME" Helper"
$SRC_EXE_DIR_NAME" Helper (GPU)"
$SRC_EXE_DIR_NAME" Helper (Plugin)"
$SRC_EXE_DIR_NAME" Helper (Renderer)"
)
for HELPER_EXE in ${SRC_EXE_HELPER_EXE_NAME[@]};
do
echo $HELPER_EXE
done
输出:
(GPU)
Demo
Helper
(Plugin)
Demo
Helper
(Renderer)
经过查询:
默认情况下,bash shell将空格符、制表符、换行符看作是字段分隔符,如果遇到这些字符,bash shell就会认为字符后是一个新的字段。
Shell 脚本中有个变量叫 IFS(Internal Field Seprator) ,内部域分隔符。
bash提供了一种自定义分隔符的机制:环境变量IFS定义了当前的分隔符,我们可以通过改变环境变量IFS的值,改变分隔符。
IFS='\n':;
SRC_EXE_HELPER_EXE_NAME=(
$SRC_EXE_DIR_NAME" Helper"
$SRC_EXE_DIR_NAME" Helper (GPU)"
$SRC_EXE_DIR_NAME" Helper (Plugin)"
$SRC_EXE_DIR_NAME" Helper (Renderer)"
)
IFS="$OLD_IFS"