Can someone explain the following shell command?

Hi Forum.

I have the following script /home/user/EDW_ENV.sh to setup some environment variables as:

#####        section 1 PM_HOME             #####
export PC_DIR_BASE=/data/informatica/ming
export DIR_ORACLE=/data/sw/apps/oracle/Oracle_scripts
export DIR_INF_SERVER=/cygdrive/d/EDW/Informatica951
.....

What does the following shell command do?

. /home/user/EDW_ENV.sh

Is there another command to perform the same thing above?

I'm trying to add the same code in our ETL application (Informatica) Unix task but I'm getting the following error:

Severity	Timestamp	Node	Thread	Message Code	Message
INFO	1/8/2015 4:47:22 PM	node01_STCDEVINFM51	PRE-SESS	CMN_1954	[Pre/Post Session Command] Process id 9200. Standard output and error:
'.' is not recognized as an internal or external command,operable program or batch file.
. /home/user/EDW_ENV.sh

The . is an alias for Source command. This will execute the above file in the same process as the shell file that is calling above file. Since these two files run under the same process all the variables and functions inside EDW_ENV.sh are made available to the calling shell script. Try to replace . with source and try.

"batch file" ?? Are you running this on Windows? If so, that would not work then...

The source or . command works in shells like sh, ksh, bash. If you need to put sth into a "configuration" or "init" script for an application, read THAT man page on what commands it recognizes. .sh files might not be applicable there.

I'm running the script on Cygwin running on windows.