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
catman(1M)																catman(1M)

NAME
catman - create cat and whatis files for online manpages SYNOPSIS
alt-path] [sections] DESCRIPTION
The command creates the formatted versions of the online manpages from source files. Each manpage in the and directories is examined, and those whose formatted versions are missing or out-of-date are recreated. formats the most recent of the entries, compresses it, and puts it into the appropriate directory. If any changes are made, recreates the database. By default, the database is overwritten. If the environment variable is set to a nonde- fault set of paths, the old database file is saved in so that, if desired, the system administrator may merge them together. By default, searches the and subdirectories under the following directories: If is set in the environment, the directories given in are checked instead of the default. See environ(5) for a description of the envi- ronment variable. Before running remove any existing directories. If the option is used, directories should be removed instead. If both and directories exist, man(1) updates both directories and more space is used. Any command-line parameters not starting with are interpreted as a list of manpage sections (directories) to search. For example: restricts updating to manpage sections 1, 2, and 3 (directories and Options supports the following options: Create a merged database; i.e., information on new manpage entries (added since the last time was run) is merged into the current database rather than overwriting it. Ignored if selected with the option. Prevent creation of Print what would be done instead of doing it. Cause only the database to be created. No manpage reformatting is done. Put the formatted entries in the directories rather than in the directories. Perform actions based on the given alternate root. With this option, alt-path will be prefixed to all directory paths, including default paths, the paths defined by and the path to EXTERNAL INFLUENCES
Environment Variables defines parent directories to be used when searching and directories. WARNINGS
If unformatted manpages (those in the subdirectories) have been removed since the last time was run, information in the database may be lost. The option may be used to override this, but may result in repeated lines in the database for the same manpage. EXAMPLES
Create uncompressed files for sections 1 and 1m of the manual, but don't create the database: Run from a server to create entries for a diskless client under the alternate root This will create manpages under: and a file in: Create entries for an application and merge the information with the database: Note that you may wish to save before doing this, so as not to lose your current AUTHOR
was developed by HP and the University of California, Berkeley. FILES
Unformatted source) manpage files [compressed]. Formatted manpages [compressed]. Database of manpage entry summaries; utilized by the command. Command to make database. SEE ALSO
compress(1), fixman(1M), man(1), environ(5). catman(1M)
All times are GMT -4. The time now is 10:52 AM.
Unix & Linux Forums Content Copyright 1993-2022. All Rights Reserved.
Privacy Policy