问题描述
我想使用用户输入创建多个文件夹。例如,如果用户写了 java,python,react
,我正在寻找的结果分别是文件夹 java
、python
和 react
。但是会发生什么,创建了一个名为 {java,react}
的文件夹。逗号不再被识别。
## The code
read -p "External projects: " EXTERNAL_PROJECTS
mkdir -p {$EXTERNAL_PROJECTS}
解决方法
它不起作用,因为括号扩展是在参数扩展之前执行的。也就是说,在扩展参数 EXTERNAL_PROJECTS
后,不会重新扫描结果字符串以进行大括号扩展。解决这个问题的一种方法是使用数组:
IFS=',' read -r -p "External projects: " -a EXTERNAL_PROJECTS
mkdir -p "${EXTERNAL_PROJECTS[@]}"