Create directories in stagging and informatica server

I have a function in bash script to create dir and subdir

function mkdir_stage ( )
		{
			mkdir -p  /webdata/ecif/etl/$Env/$projectname/ 
			mkdir -p  /webdata/ecif/etl/$Env/$projectname/archivefiles
			mkdir -p  /webdata/ecif/etl/$Env/$projectname/dropbox
			mkdir -p  /webdata/ecif/etl/$Env/$projectname/logfiles
			mkdir -p  /webdata/ecif/etl/$Env/$projectname/lookupfiles
			mkdir -p  /webdata/ecif/etl/$Env/$projectname/maestro
			mkdir -p  /webdata/ecif/etl/$Env/$projectname/parameterfiles
			mkdir -p  /webdata/ecif/etl/$Env/$projectname/rejectfiles
			mkdir -p  /webdata/ecif/etl/$Env/$projectname/scriptfiles
			mkdir -p  /webdata/ecif/etl/$Env/$projectname/sqlfiles
			mkdir -p  /webdata/ecif/etl/$Env/$projectname/stagefiles
			mkdir -p  /webdata/ecif/etl/$Env/$projectname/targetfiles
			chmod -R 777 /webdata/ecif/etl/$Env/$projectname/
		}		
	function mkdir_informatica ( )
		{	
			mkdir -p /$Env/ecif/etl/$projectname
			mkdir -p /$Env/ecif/etl/$projectname/logfiles
			mkdir -p /$Env/ecif/etl/$projectname/dropbox
			mkdir -p /$Env/ecif/etl/$projectname/sourcefiles
			mkdir -p /$Env/ecif/etl/$projectname/scriptfiles
			mkdir -p /$Env/ecif/etl/$projectname/parameterfiles
			mkdir -p /$Env/ecif/etl/$projectname/archivefiles
			mkdir -p /$Env/ecif/etl/$projectname/targetfiles
			mkdir -p /$Env/ecif/etl/$projectname/maestro
			mkdir -p /$Env/ecif/etl/$projectname/sqlfiles
			mkdir -p /$Env/ecif/etl/$projectname/rejectfiles
			mkdir -p /$Env/ecif/etl/$projectname/lookupfiles
			mkdir -p /$Env/ecif/etl/$projectname/stagefiles
		       chmod -R 775 /$Env/ecif/etl/$projectname/
		       chmod -R 777 /$Env/ecif/etl/$projectname/dropbox
		}

But i want to reduce this further , Can someone please advice me .Thanks

How about something like this?

mkproj_dirs() {
  mkdir -p "$1"
  cd "$1"  &&
  mkdir archivefiles dropbox logfiles lookupfiles maestro parameterfiles rejectfiles scriptfiles  sqlfiles stagefiles targetfiles &&
  chmod 775 . &&
  chmod 777 dropbox
}

mkproj_dirs "/webdata/ecif/etl/$Env/$projectname/"
mkproj_dirs "/$Env/ecif/etl/$projectname"
1 Like

I am testing this functions in my script and get back to you ,Thanks for reply

---------- Post updated at 04:21 PM ---------- Previous update was at 04:14 PM ----------

This is my complete script ::

#!/bin/bash 
	echo " Script for creating new project in informatica"
	echo "  ***********************************************************"
	echo " First creating stagging area for new project"
	echo "  ************************************************************"
	echo "Enter the project name:"
	read proj_name
	export projectname=$proj_name
	echo "**************************************************************"
	echo " Select the Enviornment"
	echo "Choose Environment: (1-5)"
	echo "  1  -DEV/DEVL"
	echo "  2  -TEST/ALPHA"
	echo "  3  -PREPROD/BETA"
	echo "  4  -PT/SUPP"
	echo "  5  -PROD/VOL"
	echo "  *************************************************************"
	echo ""
	read Env
	export Env=$Env
	echo "***************************************************************"
	echo "Create directories in stagging and informatica server"
	echo "  *************************************************************"
	case $Env in
        1) 	export Env=devl
			export User=ecifetld
			mkdir -p  /webdata/ecif/etl/$Env/$projectname/
			mkdir -p  /webdata/ecif/etl/$Env/$projectname/archivefiles
			mkdir -p  /webdata/ecif/etl/$Env/$projectname/dropbox
			mkdir -p  /webdata/ecif/etl/$Env/$projectname/logfiles
			mkdir -p  /webdata/ecif/etl/$Env/$projectname/lookupfiles
			mkdir -p  /webdata/ecif/etl/$Env/$projectname/maestro
			mkdir -p  /webdata/ecif/etl/$Env/$projectname/parameterfiles
			mkdir -p  /webdata/ecif/etl/$Env/$projectname/rejectfiles
			mkdir -p  /webdata/ecif/etl/$Env/$projectname/scriptfiles
			mkdir -p  /webdata/ecif/etl/$Env/$projectname/sqlfiles
			mkdir -p  /webdata/ecif/etl/$Env/$projectname/stagefiles
			mkdir -p  /webdata/ecif/etl/$Env/$projectname/targetfiles
			chmod -R 777 /webdata/ecif/etl/$Env/$projectname/
			ssh $User@boom.nwie.net "mkdir -p /$Env/ecif/etl/$projectname"
			ssh $User@boom.nwie.net "mkdir -p /$Env/ecif/etl/$projectname/logfiles"
			ssh $User@boom.nwie.net "mkdir -p /$Env/ecif/etl/$projectname/dropbox"
			ssh $User@boom.nwie.net "mkdir -p /$Env/ecif/etl/$projectname/sourcefiles"
			ssh $User@boom.nwie.net "mkdir -p /$Env/ecif/etl/$projectname/scriptfiles"
			ssh $User@boom.nwie.net "mkdir -p /$Env/ecif/etl/$projectname/parameterfiles"
			ssh $User@boom.nwie.net "mkdir -p /$Env/ecif/etl/$projectname/archivefiles"
			ssh $User@boom.nwie.net "mkdir -p /$Env/ecif/etl/$projectname/targetfiles"
			ssh $User@boom.nwie.net "mkdir -p /$Env/ecif/etl/$projectname/maestro" 
			ssh $User@boom.nwie.net "mkdir -p /$Env/ecif/etl/$projectname/sqlfiles"
			ssh $User@boom.nwie.net "mkdir -p /$Env/ecif/etl/$projectname/rejectfiles"
			ssh $User@boom.nwie.net "mkdir -p /$Env/ecif/etl/$projectname/lookupfiles"
			ssh $User@boom.nwie.net "mkdir -p /$Env/ecif/etl/$projectname/stagefiles"
			ssh $User@boom.nwie.net "chmod -R 775 /$Env/ecif/etl/$projectname/"
			ssh $User@boom.nwie.net "chmod -R 777 /$Env/ecif/etl/$projectname/dropbox"
		;;
		2)	export Env=alpha
			export User=ecifetla
			mkdir -p  /webdata/ecif/etl/$Env/$projectname/
			mkdir -p  /webdata/ecif/etl/$Env/$projectname/archivefiles
			mkdir -p  /webdata/ecif/etl/$Env/$projectname/dropbox
			mkdir -p  /webdata/ecif/etl/$Env/$projectname/logfiles
			mkdir -p  /webdata/ecif/etl/$Env/$projectname/lookupfiles
			mkdir -p  /webdata/ecif/etl/$Env/$projectname/maestro
			mkdir -p  /webdata/ecif/etl/$Env/$projectname/parameterfiles
			mkdir -p  /webdata/ecif/etl/$Env/$projectname/rejectfiles
			mkdir -p  /webdata/ecif/etl/$Env/$projectname/scriptfiles
			mkdir -p  /webdata/ecif/etl/$Env/$projectname/sqlfiles
			mkdir -p  /webdata/ecif/etl/$Env/$projectname/stagefiles
			mkdir -p  /webdata/ecif/etl/$Env/$projectname/targetfiles
			chmod -R 777 /webdata/ecif/etl/$Env/$projectname/
			ssh $User@boom.nwie.net "mkdir -p /$Env/ecif/etl/$projectname"
			ssh $User@boom.nwie.net "mkdir -p /$Env/ecif/etl/$projectname/logfiles"
			ssh $User@boom.nwie.net "mkdir -p /$Env/ecif/etl/$projectname/dropbox"
			ssh $User@boom.nwie.net "mkdir -p /$Env/ecif/etl/$projectname/sourcefiles"
			ssh $User@boom.nwie.net "mkdir -p /$Env/ecif/etl/$projectname/scriptfiles"
			ssh $User@boom.nwie.net "mkdir -p /$Env/ecif/etl/$projectname/parameterfiles"
			ssh $User@boom.nwie.net "mkdir -p /$Env/ecif/etl/$projectname/archivefiles"
			ssh $User@boom.nwie.net "mkdir -p /$Env/ecif/etl/$projectname/targetfiles"
			ssh $User@boom.nwie.net "mkdir -p /$Env/ecif/etl/$projectname/maestro" 
			ssh $User@boom.nwie.net "mkdir -p /$Env/ecif/etl/$projectname/sqlfiles"
			ssh $User@boom.nwie.net "mkdir -p /$Env/ecif/etl/$projectname/rejectfiles"
			ssh $User@boom.nwie.net "mkdir -p /$Env/ecif/etl/$projectname/lookupfiles"
			ssh $User@boom.nwie.net "mkdir -p /$Env/ecif/etl/$projectname/stagefiles"
			ssh $User@boom.nwie.net "chmod -R 775 /$Env/ecif/etl/$projectname/"
			ssh $User@boom.nwie.net "chmod -R 777 /$Env/ecif/etl/$projectname/dropbox"
		;;
		3) 	export Env=beta
			export User=ecifetlb
			mkdir -p  /webdata/ecif/etl/$Env/$projectname/
			mkdir -p  /webdata/ecif/etl/$Env/$projectname/archivefiles
			mkdir -p  /webdata/ecif/etl/$Env/$projectname/dropbox
			mkdir -p  /webdata/ecif/etl/$Env/$projectname/logfiles
			mkdir -p  /webdata/ecif/etl/$Env/$projectname/lookupfiles
			mkdir -p  /webdata/ecif/etl/$Env/$projectname/maestro
			mkdir -p  /webdata/ecif/etl/$Env/$projectname/parameterfiles
			mkdir -p  /webdata/ecif/etl/$Env/$projectname/rejectfiles
			mkdir -p  /webdata/ecif/etl/$Env/$projectname/scriptfiles
			mkdir -p  /webdata/ecif/etl/$Env/$projectname/sqlfiles
			mkdir -p  /webdata/ecif/etl/$Env/$projectname/stagefiles
			mkdir -p  /webdata/ecif/etl/$Env/$projectname/targetfiles
			ls -ltr  /webdata/ecif/etl/$Env/$projectname/
			chmod -R 777 /webdata/ecif/etl/$Env/$projectname/
			ssh $User@boom.nwie.net "mkdir -p /$Env/ecif/etl/$projectname"
			ssh $User@boom.nwie.net "mkdir -p /$Env/ecif/etl/$projectname/logfiles"
			ssh $User@boom.nwie.net "mkdir -p /$Env/ecif/etl/$projectname/dropbox"
			ssh $User@boom.nwie.net "mkdir -p /$Env/ecif/etl/$projectname/sourcefiles"
			ssh $User@boom.nwie.net "mkdir -p /$Env/ecif/etl/$projectname/scriptfiles"
			ssh $User@boom.nwie.net "mkdir -p /$Env/ecif/etl/$projectname/parameterfiles"
			ssh $User@boom.nwie.net "mkdir -p /$Env/ecif/etl/$projectname/archivefiles"
			ssh $User@boom.nwie.net "mkdir -p /$Env/ecif/etl/$projectname/targetfiles"
			ssh $User@boom.nwie.net "mkdir -p /$Env/ecif/etl/$projectname/maestro" 
			ssh $User@boom.nwie.net "mkdir -p /$Env/ecif/etl/$projectname/sqlfiles"
			ssh $User@boom.nwie.net "mkdir -p /$Env/ecif/etl/$projectname/rejectfiles"
			ssh $User@boom.nwie.net "mkdir -p /$Env/ecif/etl/$projectname/lookupfiles"
			ssh $User@boom.nwie.net "mkdir -p /$Env/ecif/etl/$projectname/stagefiles"
			ssh $User@boom.nwie.net "chmod -R 775 /$Env/ecif/etl/$projectname/"
			ssh $User@boom.nwie.net "chmod -R 777 /$Env/ecif/etl/$projectname/dropbox"	
			ssh $User@boom.nwie.net "ls -ltr  /$Env/ecif/etl/$projectname/dropbox"
		;;
		4) 	export Env=supp
			export User=ecifetls
			mkdir -p  /webdata/ecif/etl/$Env/$projectname/
			mkdir -p  /webdata/ecif/etl/$Env/$projectname/archivefiles
			mkdir -p  /webdata/ecif/etl/$Env/$projectname/dropbox
			mkdir -p  /webdata/ecif/etl/$Env/$projectname/logfiles
			mkdir -p  /webdata/ecif/etl/$Env/$projectname/lookupfiles
			mkdir -p  /webdata/ecif/etl/$Env/$projectname/maestro
			mkdir -p  /webdata/ecif/etl/$Env/$projectname/parameterfiles
			mkdir -p  /webdata/ecif/etl/$Env/$projectname/rejectfiles
			mkdir -p  /webdata/ecif/etl/$Env/$projectname/scriptfiles
			mkdir -p  /webdata/ecif/etl/$Env/$projectname/sqlfiles
			mkdir -p  /webdata/ecif/etl/$Env/$projectname/stagefiles
			mkdir -p  /webdata/ecif/etl/$Env/$projectname/targetfiles
			chmod -R 777 /webdata/ecif/etl/$Env/$projectname/
			ssh $User@boom.nwie.net "mkdir -p /$Env/ecif/etl/$projectname"
			ssh $User@boom.nwie.net "mkdir -p /$Env/ecif/etl/$projectname/logfiles"
			ssh $User@boom.nwie.net "mkdir -p /$Env/ecif/etl/$projectname/dropbox"
			ssh $User@boom.nwie.net "mkdir -p /$Env/ecif/etl/$projectname/sourcefiles"
			ssh $User@boom.nwie.net "mkdir -p /$Env/ecif/etl/$projectname/scriptfiles"
			ssh $User@boom.nwie.net "mkdir -p /$Env/ecif/etl/$projectname/parameterfiles"
			ssh $User@boom.nwie.net "mkdir -p /$Env/ecif/etl/$projectname/archivefiles"
			ssh $User@boom.nwie.net "mkdir -p /$Env/ecif/etl/$projectname/targetfiles"
			ssh $User@boom.nwie.net "mkdir -p /$Env/ecif/etl/$projectname/maestro" 
			ssh $User@boom.nwie.net "mkdir -p /$Env/ecif/etl/$projectname/sqlfiles"
			ssh $User@boom.nwie.net "mkdir -p /$Env/ecif/etl/$projectname/rejectfiles"
			ssh $User@boom.nwie.net "mkdir -p /$Env/ecif/etl/$projectname/lookupfiles"
			ssh $User@boom.nwie.net "mkdir -p /$Env/ecif/etl/$projectname/stagefiles"
			ssh $User@boom.nwie.net "chmod -R 775 /$Env/ecif/etl/$projectname/"
			ssh $User@boom.nwie.net "chmod -R 777 /$Env/ecif/etl/$projectname/dropbox"	
		;;
		5) 	export Env=vol
			export User=ecifetlp
			mkdir -p  /webdata/ecif/etl/$Env/$projectname/
			mkdir -p  /webdata/ecif/etl/$Env/$projectname/archivefiles
			mkdir -p  /webdata/ecif/etl/$Env/$projectname/dropbox
			mkdir -p  /webdata/ecif/etl/$Env/$projectname/logfiles
			mkdir -p  /webdata/ecif/etl/$Env/$projectname/lookupfiles
			mkdir -p  /webdata/ecif/etl/$Env/$projectname/maestro
			mkdir -p  /webdata/ecif/etl/$Env/$projectname/parameterfiles
			mkdir -p  /webdata/ecif/etl/$Env/$projectname/rejectfiles
			mkdir -p  /webdata/ecif/etl/$Env/$projectname/scriptfiles
			mkdir -p  /webdata/ecif/etl/$Env/$projectname/sqlfiles
			mkdir -p  /webdata/ecif/etl/$Env/$projectname/stagefiles
			mkdir -p  /webdata/ecif/etl/$Env/$projectname/targetfiles
			chmod -R 777 /webdata/ecif/etl/$Env/$projectname/
			ssh $User@boom.nwie.net "mkdir -p /$Env/ecif/etl/$projectname"
			ssh $User@boom.nwie.net "mkdir -p /$Env/ecif/etl/$projectname/logfiles"
			ssh $User@boom.nwie.net "mkdir -p /$Env/ecif/etl/$projectname/dropbox"
			ssh $User@boom.nwie.net "mkdir -p /$Env/ecif/etl/$projectname/sourcefiles"
			ssh $User@boom.nwie.net "mkdir -p /$Env/ecif/etl/$projectname/scriptfiles"
			ssh $User@boom.nwie.net "mkdir -p /$Env/ecif/etl/$projectname/parameterfiles"
			ssh $User@boom.nwie.net "mkdir -p /$Env/ecif/etl/$projectname/archivefiles"
			ssh $User@boom.nwie.net "mkdir -p /$Env/ecif/etl/$projectname/targetfiles"
			ssh $User@boom.nwie.net "mkdir -p /$Env/ecif/etl/$projectname/maestro" 
			ssh $User@boom.nwie.net "mkdir -p /$Env/ecif/etl/$projectname/sqlfiles"
			ssh $User@boom.nwie.net "mkdir -p /$Env/ecif/etl/$projectname/rejectfiles"
			ssh $User@boom.nwie.net "mkdir -p /$Env/ecif/etl/$projectname/lookupfiles"
			ssh $User@boom.nwie.net "mkdir -p /$Env/ecif/etl/$projectname/stagefiles"
			ssh $User@boom.nwie.net "chmod -R 775 /$Env/ecif/etl/$projectname/"
			ssh $User@boom.nwie.net "chmod -R 777 /$Env/ecif/etl/$projectname/dropbox"	
		;;
	esac	
	echo " This complete creation of New Informatica directories kindy request permission change thru ITTL for Infromatica unix directories as below "
	echo " devl = eiccdevl:ecifetld "
	echo " alpha = eicctest:ecifetla "
	echo " beta	= eiccpprd:ecifetlb"
	echo " supp = eicctest:ecifetls"
	echo " vol = eiccpprd:ecifetlp"
	echo "**************************************************************************************"

Yeah... calling ssh 300 times, to do 300 mkdir calls is a bit of a waste.

Instead of hardcoding all the paths in the script, I'd make a tarball. That will preserve permissions and let you bundle everything in one call.
I'd run this script once:

mkdir /tmp/skel
pushd /tmp/skel
mkdir -p archivefiles dropbox logfiles lookupfiles maestro parameterfiles rejectfiles scriptfiles sqlfiles stagefiles targetfiles
chmod -R 775 /tmp/skel
tar -cf ~/skel-775.tar -C /tmp/skel .
chmod -R 777 /tmp/skel
tar -cf ~/skel-777.tar -C /tmp/skel .
popd
rm -Rf /tmp/skel

Then, whenever you want to make that whole slew of directories:

mkdir -p /path/to/$Env/$Projectname/
tar -C /path/to/$Env/$Projectname/ -xf ~/skel-775.tar

It even works over ssh, and should be tons faster:

ssh username@host mkdir -p /path/to/$Env/$Projectname ';' tar -C /path/to/$Env/$Projectname -xf - < ~/skel-775.tar

I question the need for 777 permissions at all, really. That's a silly idea in general, giving the entire universe write-access to your directories.

1 Like

Permission 777 is mandatory from app prespective as dropbox is the place any app can put there data. Thanks for the script

Then 777 the dropbox, not the entire folder. The whole universe doesn't need write-access to everything just to write to the dropbox.

Better yet, find out what application's doing the dropping and give it permissions without giving the whole universe permissions.

after testing mkprojs_dirs function it works fine in local but throughs an error for ssh .

Create directories in stagging and informatica server
  *************************************************************
Password:
ksh: mkproj_dirs:  not found

Remote sever is solaris ... Any suggestions

Show me exactly what you typed, please, as well as the values of the variables involved. Leaving out any of the punctuation I gave will cause it to fail, since that's what causes ssh to do multiple commands remotely instead of one remotely and one locally...

1 Like

I tried these options
1.

/usr/bin/ssh  $User@boom.nwie.net "mkproj_dirs "/$Env/ecif/etl/$projectname""
 ksh: mkproj_dirs: not found
/usr/bin/ssh $User@boom.nwie.net 'mkproj_dirs "/$Env/ecif/etl/$projectname"'

This just give me server login ...

---------- Post updated at 11:43 AM ---------- Previous update was at 11:39 AM ----------

./Create_proj_test.sh
 Script for creating new project in informatica
  ***********************************************************
 First creating stagging area for new project
  ************************************************************
Enter the project name:
TEST_ETL
**************************************************************
 Select the Enviornment
Choose Environment: (1-5)
  1  -DEV/DEVL
  2  -TEST/ALPHA
  3  -PREPROD/BETA
  4  -PT/SUPP
  5  -PROD/VOL
  *************************************************************

1
***************************************************************
Create directories in stagging and informatica server
  *************************************************************
Password:
ksh: mkproj_dirs:  not found
 This complete creation of New Informatica directories kindy request permission change thru ITTL for Infromatica unix directories as below
 devl = eiccdevl:ecifetld
 alpha = eicctest:ecifetla
 beta   = eiccpprd:ecifetlb
 supp = eicctest:ecifetls
 vol = eiccpprd:ecifetlp

Unless this mkproj_dir program actually exists on the remote server, it can't run it on the remote server. This is why I demonstrated using shell commands over ssh, not running a remote script.

Double quotes don't work inside double-quotes. It just alternates between in-quotes and out-of-quotes like

"in quotes"out of quotes"in quotes"

What I would do for ssh is put single-quotes in double-quotes: "'${VARNAME}'" The variable will still expand locally, because it's in double-quotes. But once sent over the ssh connection, it will become 'VARIABLE CONTENTS' which will be considered as one string, and not split.

The current contents of your mkproj_dirs script would also be useful. That's where I figured the ssh calls would be -- the script calling ssh, not ssh calling the script, like you had before.

1 Like

Thanks for the reply , but i did not get ur last line comment , can you pls let me know.

Your original script showed you making many separate ssh calls, each running mkdir. I suggested instead that you run tar instead, to extract a tarball sent over the connection.

Now you're using ssh to run a script which I don't recognize, of unknown contents, which doesn't appear to even be installed on that server. I don't know what you're trying to do.

Now i m trying to use the same function mkprojs_dirs to create directories on remote server

You can't run local functions on a remote server. ssh doesn't work that way. The other side is a brand-new, independent shell, not an extension of your own. It may not even be the same shell.

Call a local function which calls ssh, not vice-versa.

1 Like

It's also possible to send an entire remote script into ssh, however:

ssh username@host exec /bin/bash -s "argument1" "argument2" < local-file.sh

Which is about equivalent to

./local-file.sh "argument1" "argument2"

...except run on the remote side, not the local one.

1 Like

ok will try ..tar option only for ssh

---------- Post updated at 01:58 PM ---------- Previous update was at 01:43 PM ----------

When i tried this

ssh username@host exec /bin/bash -s "argument1" "argument2" < local-file.sh
ssh $User@boom.nwie.net exec /bin/bash -s "$Env" "$projectname" < mkdir_infor.sh

mkdir_infor.sh :

mkdir -p /$Env/ecif/etl/$projectname
	mkdir -p /$Env/ecif/etl/$projectname/logfiles
	mkdir -p /$Env/ecif/etl/$projectname/dropbox
	mkdir -p /$Env/ecif/etl/$projectname/sourcefiles
	mkdir -p /$Env/ecif/etl/$projectname/scriptfiles
	mkdir -p /$Env/ecif/etl/$projectname/parameterfiles
	mkdir -p /$Env/ecif/etl/$projectname/archivefiles
	mkdir -p /$Env/ecif/etl/$projectname/targetfiles
	mkdir -p /$Env/ecif/etl/$projectname/maestro
	mkdir -p /$Env/ecif/etl/$projectname/sqlfiles
	mkdir -p /$Env/ecif/etl/$projectname/rejectfiles
	mkdir -p /$Env/ecif/etl/$projectname/lookupfiles
	mkdir -p /$Env/ecif/etl/$projectname/stagefiles
	chmod -R 775 /$Env/ecif/etl/$projectname/
	chmod -R 777 /$Env/ecif/etl/$projectname/dropbox

Output was :

ecifetld@ntac1rapvm0041> ./Create_proj_test.sh
 Script for creating new project in informatica
  ***********************************************************
 First creating stagging area for new project
  ************************************************************
Enter the project name:
TEST_ETL
**************************************************************
 Select the Enviornment
Choose Environment: (1-5)
  1  -DEV/DEVL
  2  -TEST/ALPHA
  3  -PREPROD/BETA
  4  -PT/SUPP
  5  -PROD/VOL
  *************************************************************

1
***************************************************************
Create directories in stagging and informatica server
  *************************************************************
Password:
Password:
Password:
mkdir: "/ecif/etl/": Permission denied
mkdir: "/ecif/etl/logfiles": Permission denied
mkdir: "/ecif/etl/dropbox": Permission denied
mkdir: "/ecif/etl/sourcefiles": Permission denied
mkdir: "/ecif/etl/scriptfiles": Permission denied
mkdir: "/ecif/etl/parameterfiles": Permission denied
mkdir: "/ecif/etl/archivefiles": Permission denied
mkdir: "/ecif/etl/targetfiles": Permission denied
mkdir: "/ecif/etl/maestro": Permission denied
mkdir: "/ecif/etl/sqlfiles": Permission denied
mkdir: "/ecif/etl/rejectfiles": Permission denied
mkdir: "/ecif/etl/lookupfiles": Permission denied
mkdir: "/ecif/etl/stagefiles": Permission denied
chmod: WARNING: can't access //ecif/etl//
chmod: WARNING: can't access //ecif/etl//dropbox
 This complete creation of New Informatica directories kindy request permission change thru ITTL for Infromatica unix directories as below
 devl = eiccdevl:ecifetld
 alpha = eicctest:ecifetla
 beta   = eiccpprd:ecifetlb
 supp = eicctest:ecifetls
 vol = eiccpprd:ecifetlp

seems it is not able to take variables as argument. Any suggestions :slight_smile:

I suspect those arguments contained spaces, and therefore split, and therefore need to be protected in the manner I demonstrated earlier in this thread.

ssh $User@boom.nwie.net exec /bin/bash -s "'$Env'" "'$projectname'" < mkdir_infor.sh

i still get error as below:

ecifetld@ntac1rapvm0041> ./Create_proj_test.sh
 Script for creating new project in informatica
  ***********************************************************
 First creating stagging area for new project
  ************************************************************
Enter the project name:
TEST_ETL
**************************************************************
 Select the Enviornment
Choose Environment: (1-5)
  1  -DEV/DEVL
  2  -TEST/ALPHA
  3  -PREPROD/BETA
  4  -PT/SUPP
  5  -PROD/VOL
  *************************************************************

1
***************************************************************
Create directories in stagging and informatica server
  *************************************************************
Password:
mkdir: "/ecif/etl/": Permission denied
mkdir: "/ecif/etl/logfiles": Permission denied
mkdir: "/ecif/etl/dropbox": Permission denied
mkdir: "/ecif/etl/sourcefiles": Permission denied
mkdir: "/ecif/etl/scriptfiles": Permission denied
mkdir: "/ecif/etl/parameterfiles": Permission denied
mkdir: "/ecif/etl/archivefiles": Permission denied
mkdir: "/ecif/etl/targetfiles": Permission denied
mkdir: "/ecif/etl/maestro": Permission denied
mkdir: "/ecif/etl/sqlfiles": Permission denied
mkdir: "/ecif/etl/rejectfiles": Permission denied
mkdir: "/ecif/etl/lookupfiles": Permission denied
mkdir: "/ecif/etl/stagefiles": Permission denied
chmod: WARNING: can't access //ecif/etl//
chmod: WARNING: can't access //ecif/etl//dropbox
 This complete creation of New Informatica directories kindy request permission change thru ITTL for Infromatica unix directories as below
 devl = eiccdevl:ecifetld
 alpha = eicctest:ecifetla
 beta   = eiccpprd:ecifetlb
 supp = eicctest:ecifetls
 vol = eiccpprd:ecifetlp
**************************************************************************************

To keep the forums high quality for all users, please take the time to format your posts correctly.

First of all, use Code Tags when you post any code or data samples so others can easily read your code. You can easily do this by highlighting your code and then clicking on the # in the editing menu. (You can also type code tags

```text
 and 
```

by hand.)

Second, avoid adding color or different fonts and font size to your posts. Selective use of color to highlight a single word or phrase can be useful at times, but using color, in general, makes the forums harder to read, especially bright colors like red.

Third, be careful when you cut-and-paste, edit any odd characters and make sure all links are working property.

Thank You.

The UNIX and Linux Forums

Please post the contents of that script. I've suggested lots of changes to it and I have little idea what its contents actually are anymore...