Эй, ребята, у меня есть небольшой скрипт для создания родительской папки с n количеством подпапок.
Я основываюсь на этой команде mkdir -p parentFolder/{"Folder 1", "Folder 2",...}
.
Выполнение этого с помощью записи это, как описано выше, создаст следующую структуру папок:
parentFolder
|-Folder 1
|-Folder 2
|-Folder 3
#!/bin/bash
#Takes two arguments for the name of your parent folder
#and how many subfolders you want
function createFolderAndSubfolders {
folderName="$1"
numberOfSubfolders="$2"
subFolderName="subFolder"
buildString="$folderName/{"
for (( i=1; i<=$numberOfSubfolders; i++ ))
do
if [[ $i -ne $numberOfSubfolders ]]; then
buildString+="\"$subFolderName $i\","
else
# If last number in loop, don't add comma
buildString+="\"$subFolderName $i\""
fi
done
buildString+="}"
#This should make an example string like: 'parentFolder/{"subFolder 1","subFolder 2"}'
#Create parent and sub folders
mkdir -p "$buildString"
}
Когда я запускаю это с этой конкатенацией строк, я получаю родительскую папку, но только одну подпапку вместо того, что происходит при вводе это вручную.
parentFolder
|-{"subFolder 1","subFolder 2"}
Я также пробовал одинарные кавычки для экранирования двойных кавычек с тем же эффектом.
Я пропустил что-нибудь, что могло бы помешать этому?