Sponsored Content
Top Forums Shell Programming and Scripting check if multiple directories exist else create missing directories Post 302345272 by ramky79 on Tuesday 18th of August 2009 07:17:36 PM
Old 08-18-2009
check if multiple directories exist else create missing directories

Hi ,
I 'm trying to check if multiple directories exist on a server, if not create the missing ones and print " creating missing directory.
how to write this in a simple script, I have made my code complex


Code:
if [ -d "${schemaExtractDir}/SchemaExtract" ]; then
 taskStatus="Schema extract directory exists, checking if SQL,Count and SchExtArchive directories exist."
 print -r "$taskStatus"
 if [ -d "${schemaExtractDir}/SQL" ]; then
  taskStatus="${schemaExtractDir}/SQL directory exists, checking if Count and SchExtArchive directories exists."
  print -r "$taskStatus"
  if [ -d "${schemaExtractDir}/Count" ]; then
   taskStatus="${schemaExtractDir}/Count directory exists, checking if SchExtArchive directory exists."
   print -r "$taskStatus"
   if [ -d "${schemaExtractDir}/SchExtArchive" ]; then
    taskStatus="${schemaExtractDir}/SchExtArchive directory exists."
    print -r "$taskStatus"
   else
    taskStatus="${schemaExtractDir}/SchExtArchive directory does not exist, creating ${schemaExtractDir}/SchExtArchive directory"
    print -r "$taskStatus"
    mkdir -p ${schemaExtractDir}/SchExtArchive 2>/dev/null
   fi
  else
   taskStatus="${schemaExtractDir}/Count directory does not exist, creating ${schemaExtractDir}/Count directory"
   print -r "$taskStatus"
   mkdir -p ${schemaExtractDir}/Count 2>/dev/null
  fi
 else
  taskStatus="${schemaExtractDir}/SQL directory does not exist, creating ${schemaExtractDir}/SQL directory."
  print -r "$taskStatus"
  mkdir -p ${schemaExtractDir}/SQL 2>/dev/null
   taskStatus="Checking if ${schemaExtractDir}/NPICount directory exists."
   print -r "$taskStatus"
    if [ -d "${schemaExtractDir}/Count" ]; then
       taskStatus="${schemaExtractDir}/Count directory exists."
       print "$taskStatus"
    else
       taskStatus="${schemaExtractDir}/Count directory does not exist, creating ${schemaExtractDir}/Count directory"
       print "$taskStatus"
       mkdir -p ${schemaExtractDir}/Count 2>/dev/null
    fi
 fi
else
 taskStatus="Schema extract directory does not exist, creating schema extract,SQL,Count and SchExtArchive directories."
 print -r "${taskStatus}"
 mkdir -p ${schemaExtractDir} 2>/dev/null
 mkdir -p ${schemaExtractDir}/SchemaExtract 2>/dev/null
 mkdir -p ${schemaExtractDir}/SQL 2>/dev/null
 mkdir -p ${schemaExtractDir}/Count 2>/dev/null 
 mkdir -p ${schemaExtractDir}/SchExtArchive 2>/dev/null
fi
chmod 755 ${schemaExtractDir}/SchemaExtract
chmod 755 ${schemaExtractDir}/SQL
chmod 755 ${schemaExtractDir}/Count
chmod 755 ${schemaExtractDir}/SchExtArchive


I want to acheive the above in few steps... not this many if else loops...
how to do it?

thanks
ram

Last edited by Franklin52; 08-19-2009 at 04:09 PM.. Reason: adding code tags
 

10 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

Create Folder in Multiple Directories

Hi, I am trying to figure out how to have a folder created in multiple directories. For example /home is where we have over 1500 staff members directories, the staff members name is the name of directory under /home. I need to have a folder called "Desktop" created in every staff members directory.... (15 Replies)
Discussion started by: Stud33
15 Replies

2. Shell Programming and Scripting

moving directories to new directories on multiple servers

Hi - I am new to unix scripts...I need to move several directories on multiple servers to new directories. (0 Replies)
Discussion started by: mackdaddy07
0 Replies

3. Shell Programming and Scripting

Replace missing standard folders from home directories.

Hi, I want to develop a script to replace missing folders from home directories. These may have been deleted by the user. A standard home directory will have these folders in it and nothing else: Desktop, Documents, Downloads, Library, Movies, Music, Pictures, Public, Sites I also want to... (3 Replies)
Discussion started by: z399y
3 Replies

4. Shell Programming and Scripting

how to check existance of multiple directories

Hi, I would like to check whether all the directories exists or not. I tried the below but it gives some error. below is the excerpt from my original script 24 #Check if the required directories are exists 25 dirExists() { 26 27 if 28 then 29 echo "required... (1 Reply)
Discussion started by: lookinginfo
1 Replies

5. UNIX for Dummies Questions & Answers

Deleting multiple directories inside multiple directories

Hi, Very unfamiliar with unix/linux stuff. Our admin is on vacation so, need help very quickly. I have directories (eg 40001, 40002, etc) that each have one subdirectory (01). Each subdir 01 has multiple subdirs (001, 002, 003, etc). They are same in each dir. I need to keep the top and... (7 Replies)
Discussion started by: kkouraus1
7 Replies

6. UNIX for Dummies Questions & Answers

Create multiple directories with awk

Hello all. Newbie here. In a directory, I have 50 files and one additional file that is a list of the names of the 50 files. I would like to create a directory for each of the 50 files, and I need the 50 directory names to correspond to the 50 file names. I know this can be done by running... (6 Replies)
Discussion started by: Zeckendorff
6 Replies

7. UNIX for Dummies Questions & Answers

Checking if multiple directories exist

I need to create multiple directories if those directories do not exist already. How would you go by doing this. What I have so far. array=(one two three) for I in ${array} do if ] then mkdir ${I} fi doneI have a good feeling this is done incorrectly. The error I am... (2 Replies)
Discussion started by: jrymer
2 Replies

8. Shell Programming and Scripting

Single script to create multiple directories

Hi , I want a script to create a directories at different locations. suppose i am on home/path/zone1. I want to create a directory of current month in this location. Then i want to create the same current month directory in home/path/zone2.like this for 9 diffrent zones. I can do this... (4 Replies)
Discussion started by: sv0081493
4 Replies

9. Shell Programming and Scripting

Help with create multiple directories under diff file systems

Hi, Need help ...I want to create multiple directories in different /file systems using for loop..eg.../ORCL_data01/oradata/orcl/ctl. ../ORCL_data01/oradata/orcl/data. ../ORCL_data01/oradata/orcl/redo. Script :- ========= for dir in `ls -d... (8 Replies)
Discussion started by: Linux6.5
8 Replies

10. Shell Programming and Scripting

Shell script to check current date file is created and with >0 kb or not for multiple directories

Hi All, I am new in scripting and working in a project where we have RSyslog servers over CentOS v7 and more than 200 network devices are sending logs to each RSyslog servers. For each network devices individual folders create on the name of the each network devices IP addresses.The main... (7 Replies)
Discussion started by: Pinaki
7 Replies
mkdir(1)						      General Commands Manual							  mkdir(1)

NAME
mkdir - make a directory SYNOPSIS
mode] dirname ... DESCRIPTION
creates specified directories in mode 0777 (possibly altered by unless specified otherwise by a option (see umask(1)). Standard entries, (for the directory itself) and (for its parent) are created automatically. If dirname already exists, exits with a diagnostic message, and the directory is not changed. Options recognizes the following command-line options: After creating the directory as specified, the file permissions are set to mode, which is a symbolic mode string as defined for (see chmod(1)). The has precedence over Intermediate directories are created as necessary. Otherwise, the full path prefix of dirname must already exist. requires write permission in the parent directory. For each directory name in the pathname prefix of the dirname argument that is not the name of an existing directory, the specified directory is created using the current setting, except that the equivalent of is done on each component to ensure that can create lower directories regardless of the setting of Each directory name in the pathname prefix of the dirname argument that matches an existing directory is ignored without error. If an intermediate path component exists, but has permissions set to prevent writing or searching, fails with an error message. If the option is used, the directory specified by dirname (excluding directories in the pathname prefix) is created with the permissions specified by mode. Only subdirectories can be created (see limits(5)). Access Control Lists - JFS File Systems Only If the parent directory has an access control list (ACL, see aclv(5)), and that ACL contains default entries, an ACL is created for the new directory, and the parent directory's default entries are applied to the new directory's ACL, both as regular entries and as default entries. EXTERNAL INFLUENCES
For information about the UNIX standard environment, see standards(5). Environment Variables provides a default value for the internationalization variables that are unset or null. If is unset or null, the default value of "C" (see lang(5)) is used. If any of the internationalization variables contains an invalid setting, will behave as if all internationalization variables are set to See environ(5). If set to a non-empty string value, overrides the values of all the other internationalization variables. determines the interpretation of text as single and/or multi-byte characters, the classification of characters as printable, and the char- acters matched by character class expressions in regular expressions. determines the locale that should be used to affect the format and contents of diagnostic messages written to standard error and informa- tive messages written to standard output. determines the location of message catalogues for the processing of International Code Set Support Single- and multi-byte character code sets are supported. DIAGNOSTICS
returns exit code 0 if all directories were created successfully. Otherwise, it prints a diagnostic and returns non-zero. returns exit code 0 if the option was specified, and all the specified directories now exist. If any of the intermediate directories do not have search or write permission (with the option), prints a diagnostic and returns non-zero. EXAMPLES
Create directory beneath existing directory in the current directory: Create directory path underneath the current directory and set permissions on directory to read-only for all users which is equivalent to (see chmod(1)): If directories or and already exist, only the missing directories in the specified path are created. SEE ALSO
rm(1), setacl(1), sh(1), umask(1), aclv(5), standards(5). STANDARDS CONFORMANCE
mkdir(1)
All times are GMT -4. The time now is 11:56 AM.
Unix & Linux Forums Content Copyright 1993-2022. All Rights Reserved.
Privacy Policy