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 users
mailing list