将多个用户输入转换为 mkdir 参数以创建多个文件夹 - Bash 脚本
Convert multiple user inputs as mkdir parameter to create multiple folders - Bash script
我想使用用户输入创建多个文件夹。例如,如果用户写了 java,python,react
,那么我要查找的结果分别是文件夹 java
、python
和 react
。但是会发生什么,创建了一个名为 {java,python,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[@]}"
我想使用用户输入创建多个文件夹。例如,如果用户写了 java,python,react
,那么我要查找的结果分别是文件夹 java
、python
和 react
。但是会发生什么,创建了一个名为 {java,python,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[@]}"