Checking Folder Existence and Creating Folders in Bash
Discover methods for detecting folder existence and creating folders in Bash scripts. Explore various if statement approaches and folder creation techniques to efficiently handle folder operations in your scripts. Whether you're checking for folder existence or creating multiple folders, these examples provide valuable insights for improved automation and organization in your Bash scripts.
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