Go to main content

man pages section 1: User Commands

Exit Print View

Updated: Wednesday, July 27, 2022
 
 

source (1t)

Name

source - Evaluate a file or resource as a Tcl script

Synopsis

source fileName

source -encoding encodingName fileName

Description

source(1t)                   Tcl Built-In Commands                  source(1t)



______________________________________________________________________________

NAME
       source - Evaluate a file or resource as a Tcl script

SYNOPSIS
       source fileName

       source -encoding encodingName fileName
______________________________________________________________________________

DESCRIPTION
       This  command  takes the contents of the specified file or resource and
       passes it to the Tcl interpreter as a text script.   The  return  value
       from  source  is  the  return value of the last command executed in the
       script.  If an error occurs in evaluating the contents  of  the  script
       then the source command will return that error.  If a return command is
       invoked from within the script then the remainder of the file  will  be
       skipped  and  the  source  command will return normally with the result
       from the return command.

       The end-of-file character for files is "\32" (^Z)  for  all  platforms.
       The source command will read files up to this character.  This restric-
       tion does not exist for the read or gets commands, allowing  for  files
       containing code and data segments (scripted documents).  If you require
       a "^Z" in code for string comparison, you can use "\032"  or  "\u001a",
       which will be safely substituted by the Tcl interpreter into "^Z".

       A  leading  BOM  (Byte order mark) contained in the file is ignored for
       unicode encodings (utf-8, unicode).

       The -encoding option is used to specify the encoding of the data stored
       in fileName.  When the -encoding option is omitted, the system encoding
       is assumed.

EXAMPLE
       Run the script in the file foo.tcl and then  the  script  in  the  file
       bar.tcl:

              source foo.tcl
              source bar.tcl

       Alternatively:

              foreach scriptFile {foo.tcl bar.tcl} {
                  source $scriptFile
              }


ATTRIBUTES
       See attributes(7) for descriptions of the following attributes:


       +---------------+------------------+
       |ATTRIBUTE TYPE | ATTRIBUTE VALUE  |
       +---------------+------------------+
       |Availability   | runtime/tcl-8    |
       +---------------+------------------+
       |Stability      | Uncommitted      |
       +---------------+------------------+

SEE ALSO
       file(n), cd(n), encoding(n), info(n)

KEYWORDS
       file, script



NOTES
       Source  code  for open source software components in Oracle Solaris can
       be found at https://www.oracle.com/downloads/opensource/solaris-source-
       code-downloads.html.

       This     software     was    built    from    source    available    at
       https://github.com/oracle/solaris-userland.   The  original   community
       source was downloaded from  http://prdownloads.sourceforge.net/tcl/tcl-
       core8.6.7-src.tar.gz.

       Further information about this software can be found on the open source
       community website at https://www.tcl.tk/.



Tcl                                                                 source(1t)