Skip to content

Create folders | Cheatsheet


Detecting If a Folder Exists

Method 1: Using the -d Operator

folder_path="/path/to/folder"

if [ -d "$folder_path" ]; then
    echo "Folder exists"
else
    echo "Folder does not exist"
fi

Method 2: Using the test Command

folder_path="/path/to/folder"

if test -d "$folder_path"; then
    echo "Folder exists"
else
    echo "Folder does not exist"
fi

Method 3: Using the [[ Keyword

folder_path="/path/to/folder"

if [[ -d "$folder_path" ]]; then
    echo "Folder exists"
else
    echo "Folder does not exist"
fi

Creating Folders in Functions

Using mkdir Command

create_folder() {
    folder_name="$1"
    mkdir "$folder_name"
}

create_folder "my_folder"

Using mkdir Command with Parent Directories

create_folder() {
    folder_name="$1"
    mkdir -p "$folder_name"
}

create_folder "/path/to/my_folder"

Using mkdir -p Command

create_folder() {
    folder_name="$1"
    mkdir -p "$folder_name"
}

create_folder "/path/to/my_folder"

Using mkdir Command with Error Handling

create_folder() {
    folder_name="$1"
    if mkdir "$folder_name" 2>/dev/null; then
        echo "Folder created successfully"
    else
        echo "Failed to create folder"
    fi
}

create_folder "my_folder"

Using mkdir Command with Conditional Check

create_folder() {
    folder_name="$1"
    if [ ! -d "$folder_name" ]; then
        mkdir "$folder_name"
        echo "Folder created"
    else
        echo "Folder already exists"
    fi
}

create_folder "my_folder"

Creating Multiple Folders

create_folders() {
    for folder_name in "folder1" "folder2" "folder3" "folder4" "folder5"; do
        if [ ! -d "$folder_name" ]; then
            mkdir "$folder_name"
            echo "Folder $folder_name created"
        else
            echo "Folder $folder_name already exists"
        fi
    done
}

create_folders

Using declare to Create Folders

declare -a folders=("folder1" "folder2" "folder3" "folder4" "folder5")

for folder_name in "${folders[@]}"; do
    if [ ! -d "$folder_name" ]; then
        mkdir "$folder_name"
        echo "Folder $folder_name created"
    else
        echo "Folder $folder_name already exists"
    fi
done
declare -a folders=("folder1" "folder2" "folder3" "folder4" "folder5")

for folder_name in "${folders[@]}"; do


    create_folder "$folder_name"
done
declare -a folders=("folder1" "folder2" "folder3" "folder4" "folder5")

create_folders() {
    for folder_name in "${folders[@]}"; do
        if [ ! -d "$folder_name" ]; then
            mkdir "$folder_name"
            echo "Folder $folder_name created"
        else
            echo "Folder $folder_name already exists"
        fi
    done
}

create_folders
declare -a folders=("folder1" "folder2" "folder3" "folder4" "folder5")

create_folders() {
    for folder_name in "${folders[@]}"; do
        create_folder "$folder_name"
    done
}

create_folders
declare -a folders=("folder1" "folder2" "folder3" "folder4" "folder5")

for folder_name in "${folders[@]}"; do
    create_folder "$folder_name"
done
declare -a folders=("folder1" "folder2" "folder3" "folder4" "folder5")

for folder_name in "${folders[@]}"; do
    create_folder "$folder_name"
done
declare -a folders=("folder1" "folder2" "folder3" "folder4" "folder5")

create_folders() {
    for folder_name in "${folders[@]}"; do
        if [ ! -d "$folder_name" ]; then
            mkdir "$folder_name"
            echo "Folder $folder_name created"
        else
            echo "Folder $folder_name already exists"
        fi
    done
}

create_folders
declare -a folders=("folder1" "folder2" "folder3" "folder4" "folder5")

create_folders() {
    for folder_name in "${folders[@]}"; do
        create_folder "$folder_name"
    done
}

create_folders
declare -a folders=("folder1" "folder2" "folder3" "folder4" "folder5")

for folder_name in "${folders[@]}"; do
    create_folder "$folder_name"
done