[NBLUG/talk] fighting Ubuntu, and the "source" bash command

Bob Blick bobblick at ftml.net
Mon Jul 7 08:28:20 PDT 2008


I've been fighting with Ubuntu 8.04.1(yes it was time to replace my old
6.06 install which froze in X quite often) over the last few days, when
using "sudo" environmental variables are not working properly in
scripts(although it seemed to work in previous versions). Which leads me
to the "source" command in bash. Here's the manpage:

source filename [arguments]
    Read and execute commands from filename in the current shell
    environment and return the exit status of the last command executed
    from filename. If filename does not contain a slash, file names in
    PATH are used to find the directory containing filename. The file
    searched for in PATH need not be executable. When bash is not in
    posix mode, the current directory is searched if no file is found in
    PATH. If the sourcepath option to the shopt builtin command is
    turned off, the PATH is not searched. If any arguments are supplied,
    they become the positional parameters when filename is executed.
    Otherwise the positional parameters are unchanged. The return status
    is the status of the last command exited within the script (0 if no
    commands are executed), and false if filename is not found or cannot
    be read.

That's funny because in the past if I had a script I wanted to execute
I'd either make sure it had a shebang (#!/bin/bash) line in it or else
just preface the script name with /bin/bash on the command line. That's
just how I'd always done it. So does "source" do exactly the same thing,
or is it the new improved way to do this?

Thanks.

Cheerful regards,

Bob

-- 
http://www.fastmail.fm - Choose from over 50 domains or use your own




More information about the talk mailing list