tclsh.1
上传用户:rrhhcc
上传日期:2015-12-11
资源大小:54129k
文件大小:6k
源码类别:

通讯编程

开发平台:

Visual C++

  1. '"
  2. '" Copyright (c) 1993 The Regents of the University of California.
  3. '" Copyright (c) 1994-1996 Sun Microsystems, Inc.
  4. '"
  5. '" See the file "license.terms" for information on usage and redistribution
  6. '" of this file, and for a DISCLAIMER OF ALL WARRANTIES.
  7. '" 
  8. '" RCS: @(#) $Id: tclsh.1,v 1.8 2003/02/13 22:03:34 kennykb Exp $
  9. '" 
  10. .so man.macros
  11. .TH tclsh 1 "" Tcl "Tcl Applications"
  12. .BS
  13. '" Note:  do not modify the .SH NAME line immediately below!
  14. .SH NAME
  15. tclsh - Simple shell containing Tcl interpreter
  16. .SH SYNOPSIS
  17. fBtclshfR ?fIfileName arg arg ...fR?
  18. .BE
  19. .SH DESCRIPTION
  20. .PP
  21. fBTclshfR is a shell-like application that reads Tcl commands
  22. from its standard input or from a file and evaluates them.
  23. If invoked with no arguments then it runs interactively, reading
  24. Tcl commands from standard input and printing command results and
  25. error messages to standard output.
  26. It runs until the fBexitfR command is invoked or until it
  27. reaches end-of-file on its standard input.
  28. If there exists a file fB.tclshrcfR (or fBtclshrc.tclfR on
  29. the Windows platforms) in the home directory of
  30. the user, fBtclshfR evaluates the file as a Tcl script
  31. just before reading the first command from standard input.
  32. .SH "SCRIPT FILES"
  33. .PP
  34. If fBtclshfR is invoked with arguments then the first argument
  35. is the name of a script file and any additional arguments
  36. are made available to the script as variables (see below).
  37. Instead of reading commands from standard input fBtclshfR will
  38. read Tcl commands from the named file;  fBtclshfR will exit
  39. when it reaches the end of the file.
  40. .VS 8.4
  41. The end of the file may be marked either by the physical end of
  42. the medium, or by the character, '\032' ('\u001a', control-Z).
  43. If this character is present in the file, the fBtclshfR application
  44. will read text up to but not including the character.  An application
  45. that requires this character in the file may safely encode it as
  46. ``\032'', ``\x1a'', or ``\u001a''; or may generate it by use of commands 
  47. such as fBformatfR or fBbinaryfR.
  48. .VE
  49. There is no automatic evaluation of fB.tclshrcfR when the name
  50. of a script file is presented on the fBtclshfR command
  51. line, but the script file can always fBsourcefR it if desired.
  52. .PP
  53. If you create a Tcl script in a file whose first line is
  54. .CS
  55. fB#!/usr/local/bin/tclshfR
  56. .CE
  57. then you can invoke the script file directly from your shell if
  58. you mark the file as executable.
  59. This assumes that fBtclshfR has been installed in the default
  60. location in /usr/local/bin;  if it's installed somewhere else
  61. then you'll have to modify the above line to match.
  62. Many UNIX systems do not allow the fB#!fR line to exceed about
  63. 30 characters in length, so be sure that the fBtclshfR
  64. executable can be accessed with a short file name.
  65. .PP
  66. An even better approach is to start your script files with the
  67. following three lines:
  68. .CS
  69. fB#!/bin/sh
  70. # the next line restarts using tclsh e
  71. exec tclsh "$0" "$@"fR
  72. .CE
  73. This approach has three advantages over the approach in the previous
  74. paragraph.  First, the location of the fBtclshfR binary doesn't have
  75. to be hard-wired into the script:  it can be anywhere in your shell
  76. search path.  Second, it gets around the 30-character file name limit
  77. in the previous approach.
  78. Third, this approach will work even if fBtclshfR is
  79. itself a shell script (this is done on some systems in order to
  80. handle multiple architectures or operating systems:  the fBtclshfR
  81. script selects one of several binaries to run).  The three lines
  82. cause both fBshfR and fBtclshfR to process the script, but the
  83. fBexecfR is only executed by fBshfR.
  84. fBshfR processes the script first;  it treats the second
  85. line as a comment and executes the third line.
  86. The fBexecfR statement cause the shell to stop processing and
  87. instead to start up fBtclshfR to reprocess the entire script.
  88. When fBtclshfR starts up, it treats all three lines as comments,
  89. since the backslash at the end of the second line causes the third
  90. line to be treated as part of the comment on the second line.
  91. .PP
  92. .VS
  93. You should note that it is also common practise to install tclsh with
  94. its version number as part of the name.  This has the advantage of
  95. allowing multiple versions of Tcl to exist on the same system at once,
  96. but also the disadvantage of making it harder to write scripts that
  97. start up uniformly across different versions of Tcl.
  98. .VE
  99. .SH "VARIABLES"
  100. .PP
  101. fBTclshfR sets the following Tcl variables:
  102. .TP 15
  103. fBargcfR
  104. Contains a count of the number of fIargfR arguments (0 if none),
  105. not including the name of the script file.
  106. .TP 15
  107. fBargvfR
  108. Contains a Tcl list whose elements are the fIargfR arguments,
  109. in order, or an empty string if there are no fIargfR arguments.
  110. .TP 15
  111. fBargv0fR
  112. Contains fIfileNamefR if it was specified.
  113. Otherwise, contains the name by which fBtclshfR was invoked.
  114. .TP 15
  115. fBtcl_interactivefR
  116. Contains 1 if fBtclshfR is running interactively (no
  117. fIfileNamefR was specified and standard input is a terminal-like
  118. device), 0 otherwise.
  119. .SH PROMPTS
  120. .PP
  121. When fBtclshfR is invoked interactively it normally prompts for each
  122. command with ``fB% fR''.  You can change the prompt by setting the
  123. variables fBtcl_prompt1fR and fBtcl_prompt2fR.  If variable
  124. fBtcl_prompt1fR exists then it must consist of a Tcl script
  125. to output a prompt;  instead of outputting a prompt fBtclshfR
  126. will evaluate the script in fBtcl_prompt1fR.
  127. The variable fBtcl_prompt2fR is used in a similar way when
  128. a newline is typed but the current command isn't yet complete;
  129. if fBtcl_prompt2fR isn't set then no prompt is output for
  130. incomplete commands.
  131. .SH "STANDARD CHANNELS"
  132. .PP
  133. See fBTcl_StandardChannelsfR for more explanations.
  134. .SH "SEE ALSO"
  135. fconfigure(n), tclvars(n)
  136. .SH KEYWORDS
  137. argument, interpreter, prompt, script file, shell