The code I have is supposed to ask for the user to enter a name of a directory they wish to create, then it is supposed to ask to edit files within the directory, however when after I create the directory the script just doesnt continue, i can't see any errors, but it's always easier for a fresh set of eyes to critique code.
I have also added files to the directory but it never asks me if I wanted to edit them.
#!/bin/bash #Testing to see if input is empty if [ $# -lt 1 ]; then echo "Empty Directory will be created" fi #Get the name of the directory by the user, also creating a variable named directory read -p "Please enter the name of the drectory you wish to create: " directory #Check if the directory exists, if it doesn't it will be created in the Home folder if [ ! -d ~/$directory ]; then #Creating the directory if it doesnt exist mkdir ~/$directory/ fi #Create files individually in the directory for i in "$@"; do touch ~/$directory/$i #Asking the user if they wish to edit the files they have created inside the directory read -p "edit file $i (Y/N)? " edit #If they answer yes then read the lines entered by the user if [["$edit" = "Y" || "$edit" = "y"]]; then line="" #Stores the amount of words added to the file count=0 #Reads the lines enetered by the user echo "Please enter your text to be added into the file (Enter \"end\" to exit the editing):" read line #The script will keep reading the words entered in the file until the user initiates the end command "end" while ["$line" != "end"]; do #repeat the words entered into the file echo "$line" >> ~/directory/$i #Get the amount of words entered into the file count=$(($count + $(wc -w <<< $line))) #read the next line from user input read line done echo "$count words have been written to the file" fi done
~/directorywhen running the script. If they are running the script from anywhere else on the system~/directory, then the files aren't going to be there.~is not recommended to be used in scripts 3.set -xalmost always helps/home/user/directoryas the tilde may not be expanded depending on the environment.