我正在尝试传递具有以下字符串值的变量 $subdir :
subdir="subdir{1..5}/subdir{1..5}/subdir{1..5}/subdir{1..5}"
按以下方式进入命令 mkdir :
mkdir -p $subdir
但是,这会创建以下结构:
当我运行这个时:
mkdir -p subdir{1..5}/subdir{1..5}/subdir{1..5}/subdir{1..5}
我得到了我想要的结构:
如何在将路径作为变量传递时使命令工作。我尝试使用引号,但它不起作用。
大括号扩展需要不加引号,所以:
mkdir -p subdir{1..5}/subdir{1..5}/subdir{1..5}/subdir{1..5}
检查https://www.gnu.org/software/bash/manual/html_node/Brace-Expansion.html
如果你真的需要一个变量:
eval mkdir -p "$path"
确保
"$path"
不是由CGI
脚本或任何随机用户输入生成的。