what is the difference?

Björn Persson listor1.rombobeorn at comhem.se
Wed Sep 8 09:57:04 UTC 2004


Nifty Hat Mitch wrote:

> On Fri, Sep 03, 2004 at 06:14:56PM -0700, Deepak Oberoi wrote:
> 
>>what is the differecne between the following?
>>. /etc/sysconfig/sendmail
>>and
>>./etc/... (i know if the "." is followed by "/" then
>>it executes the file but dont know the what it does if
>>space is present between . and /)
> 
> This is a good question.  You will see the " . file " construct
> used in lots of system shell scripts.
> 
> In effect the . causes the following file to be 'sourced' or read
> as commands.   This permits a set of shell scripts to share
> common functions, setup and configuration flags.  
> 
> Many of the scripts in /etc/init.d do this.  Read some of them...
> 
> The other form executes the file and returns and exit status (only
> exit status and side effects impact the current shell).
> 
> The key difference is that the " . file" is executed by the current
> shell and the second is executed by a sub shell and returns only
> an exit status.

Note that the "./directory/file" syntax isn't only used in shell 
scripts. Nor is it specifically for executing programs. It's simply a 
way to reference a file relative to the current directory. "." is the 
current directory, "./file" is a file in the current directory, and 
"./directory/file" is a file in a subdirectory of the current directory.

Björn Persson





More information about the fedora-list mailing list