Sponsored Content
Top Forums UNIX for Advanced & Expert Users How to create folder by using if and elif condition? Post 302966351 by Don Cragun on Thursday 11th of February 2016 04:14:42 AM
Old 02-11-2016
RudiC is correct... And, in addition to that, redirecting output to /dev/null (even though mkdir never writes anything to standard output) and then redirecting standard error to standard output throws away any diagnostic messages that mkdir might produce. But, you should be able to change:
Code:
  if mkdir -m 777 -p "/opt/TEST/$COUNTRY/$INVOICE" >/dev/null 2>&1 | tee -a  "${LOG_FILE_NAME}"

to:
Code:
  mkdir -m 777 -p "/opt/TEST/$COUNTRY/$INVOICE" 2>&1 | tee -a  "${LOG_FILE_NAME}"
  if [ -d "/opt/TEST/$COUNTRY/$INVOICE" ]

to get what you want. Note, however, that if the directory already existed, the mkdir will fail, but you still have the directory you want. If you don't want to get EEXIST errors when the directory already exists, you might want to try something more like:
Code:
  DIR="/opt/TEST/$COUNTRY/$INVOICE"
  [ ! -d "$DIR" ] && mkdir -m 777 -p "$DIR" 2>&1 | tee -a  "${LOG_FILE_NAME}"
  if [ -d "$DIR" ]

to give you a success message if the directory has been created at some point in the past or during the execution of your script and the desired error messages if you didn't successfully create the desired directory.
 

10 More Discussions You Might Find Interesting

1. UNIX for Dummies Questions & Answers

if...elif...fi condition in Unix

Hey guyes! i have a little problem in if condition, can anybody please solve my problem? Here what i am doing. if then echo "int1 is equal to int2" elif then echo "int1 is greater than int2" else echo "int1 is smaller than int2" fiNo, matter int1 is smaller than... (9 Replies)
Discussion started by: abidmalik
9 Replies

2. AIX

AIX - create folder in hdisk1 instead

Dear All, I have two h.disks. Please advice for how to create a new folder/directory in hdisk1 instead of the hdisk0? I need to use the folder to store for xmlfiles for my application accessing to read it. Thank a lots. Best Regards, Tom (3 Replies)
Discussion started by: lwy2020
3 Replies

3. Shell Programming and Scripting

how to create folder wen the condition satisfied

hi i hav files ha1j ha2m ha3n ha4q ha5s ...like tat im having some 20 files ..and i want to create a folder as the same amount of files which im having wen the condition if loop is satisfied .. thank you (5 Replies)
Discussion started by: maximas
5 Replies

4. Shell Programming and Scripting

how to create folder and sub-folder in UNIX ?

Hi all, I have the following code to check the whether the folder is exist in my system. if ; then echo 'folder exist'; else echo 'folder not exist'; mkdir /home/batch/testing ; fi When I remove the "testing" folder from "/home/batch" directory, the code is working fine. But when I... (2 Replies)
Discussion started by: suigion
2 Replies

5. Shell Programming and Scripting

create separate file after checking condition..

Problem : I want to create a separate file for country list if condition is true. Please help. ***************************************************** Input file: SV-INCR-139302-365540488-201104090934.sqllog SV-INCR-1082-552793184-201104040805.sqllog SV-INCR-1077-855045741-201104040805.sqllog... (4 Replies)
Discussion started by: humaemo
4 Replies

6. UNIX for Dummies Questions & Answers

Create a condition for a non-included string

hey, just want to ask how to check this scenario a="apple banana cherry" if egg=0 fi how do you do the condition? thanks! (2 Replies)
Discussion started by: h0ujun
2 Replies

7. UNIX for Dummies Questions & Answers

Create a file on UNIX with multiple columns on certain condition

I need to write the list of files to a new file in one column , the second column would contain the first line of that file (header record extracted through head -1 ) and the third column would contain the last record of that file (trailer record tail -1 ) . Example :- folder where the files... (8 Replies)
Discussion started by: IshuGupta
8 Replies

8. Shell Programming and Scripting

Create Dynamic if condition

Create Dynamic If condition Hi, I have a file color.txt which has data as shown below Red Blue Green Yellow White Pink Black Based on a variable I execute a tail command as shown below tail -${LEFT_OVR} color.txt LEFT_OVR can be any number less than count of number of lines in a... (7 Replies)
Discussion started by: wahi80
7 Replies

9. Shell Programming and Scripting

Create a shared folder using acl

Hello. I need some help to create a shared folder. A group 'publicuser' has been created. A user 'publicuser' has been created ( no login, no home) and belongs to group 'publicuser'. A public folder '/doc' has been created and owner is publicuser:publicuser. All users belonging to group... (12 Replies)
Discussion started by: jcdole
12 Replies

10. Shell Programming and Scripting

Issue with condition "if then elif else fi"

Hi everybody, I must get trought a shell script 3 arguments. 1st argument = $1 (can take values REP1..4) 2nd argument = $2 (can take values A..Z) 3rd arguement = $3 (also can take values A...Z) I've written this code : #!/bin/bash if then liste=/data/folder1 echo... (6 Replies)
Discussion started by: shellX
6 Replies
MKDIR(1)						    BSD General Commands Manual 						  MKDIR(1)

NAME
mkdir -- make directories SYNOPSIS
mkdir [-pv] [-m mode] directory_name ... DESCRIPTION
The mkdir utility creates the directories named as operands, in the order specified, using mode ``rwxrwxrwx'' (0777) as modified by the cur- rent umask(2). The options are as follows: -m mode Set the file permission bits of the final created directory to the specified mode. The mode argument can be in any of the formats specified to the chmod(1) command. If a symbolic mode is specified, the operation characters '+' and '-' are interpreted relative to an initial mode of ``a=rwx''. -p Create intermediate directories as required. If this option is not specified, the full path prefix of each operand must already exist. On the other hand, with this option specified, no error will be reported if a directory given as an operand already exists. Intermediate directories are created with permission bits of ``rwxrwxrwx'' (0777) as modified by the current umask, plus write and search permission for the owner. -v Be verbose when creating directories, listing them as they are created. The user must have write permission in the parent directory. EXIT STATUS
The mkdir utility exits 0 on success, and >0 if an error occurs. EXAMPLES
Create a directory named foobar: $ mkdir foobar Create a directory named foobar and set its file mode to 700: $ mkdir -m 700 foobar Create a directory named cow/horse/monkey, creating any non-existent intermediate directories as necessary: $ mkdir -p cow/horse/monkey COMPATIBILITY
The -v option is non-standard and its use in scripts is not recommended. SEE ALSO
rmdir(1) STANDARDS
The mkdir utility is expected to be IEEE Std 1003.2 (``POSIX.2'') compatible. HISTORY
A mkdir command appeared in Version 1 AT&T UNIX. BSD
March 15, 2013 BSD
All times are GMT -4. The time now is 12:03 AM.
Unix & Linux Forums Content Copyright 1993-2022. All Rights Reserved.
Privacy Policy