SH.1
上传用户:datang2001
上传日期:2007-02-01
资源大小:53269k
文件大小:9k
源码类别:

操作系统开发

开发平台:

C/C++

  1. SH(1)                     Minix Programmer's Manual                      SH(1)
  2. NAME
  3.      sh, ., break, case, cd, continue, eval,  exec,  exit,  export,  for,  if,
  4.      read, readonly, set, shift, trap, umask, wait, while - shell
  5. SYNOPSIS
  6.      sh [-eiknqstvxu] [-c str] [file]
  7. OPTIONS
  8.      -c   Execute the commands in str
  9.      -e   Quit on error
  10.      -i   Interactive mode; ignore QUIT, TERMINATE, INTERRUPT
  11.      -k   Look for name=value everywhere on command line
  12.      -n   Do not execute commands
  13.      -q   Change qflag from sig_ign to sig_del
  14.      -s   Read commands from standard input
  15.      -t   Exit after reading and executing one command
  16.      -v   Echo input lines as they are read
  17.      -x   Trace
  18.      -u   Unset variables
  19. EXAMPLES
  20.      sh script           # Run a shell script
  21. DESCRIPTION
  22.      Sh is the shell, which forms the user's main interface with  the  system.
  23.      On  startup,  the  shell  reads  /etc/profile and $HOME/.profile, if they
  24.      exist, and executes any commands they contain.  The Minix shell has  most
  25.      of  the features of the V7 (Bourne) shell, including redirection of input
  26.      and output, pipes, magic  characters,  background  processes,  and  shell
  27.      scripts.   A  brief summary follows, but whole books have been written on
  28.      shell programming alone.
  29.      Some of the more common notations are:
  30.         date                    # Regular command
  31.         sort <file              # Redirect stdin (standard input)
  32.         sort <file1  >file2     # Redirect stdin and stdout
  33.                                                                              1
  34. SH(1)                     Minix Programmer's Manual                      SH(1)
  35.         cc file.c  2>error      # Redirect stderr
  36.         a.out >f  2>&1          # Combine standard output and standard error
  37.         sort <file1  >>file2    # Append output to file2
  38.         sort <file1  >file2 &   # Background job
  39.         (ls -l; a.out) &        # Run two background commands sequentially
  40.         sort <file | wc         # Two-process pipeline
  41.         sort <f | uniq | wc     # Three-process pipeline
  42.         ls -l *.c               # List all files ending in .c
  43.         ls -l [a-c]*            # List all files beginning with a, b, or c
  44.         ls -l ?                 # List all one-character file names
  45.         ls ?                   # List the file whose name is question mark
  46.         ls '???'                # List the file whose name is  three  question
  47.                                   marks
  48.         v=/usr/ast              # Set shell variable v
  49.         ls -l $v                # Use shell variable v
  50.         PS1='Hi! '              # Change the primary prompt to Hi!
  51.         PS2='More: '            # Change the secondary prompt to More:
  52.         ls -l $HOME             # List the home directory
  53.         echo $PATH              # Echo the search path
  54.         echo $?                 # Echo exit  status  of  previous  command  in
  55.                                   decimal
  56.         echo $$                 # Echo shell's pid in decimal
  57.         echo $!                 # Echo PID of last background process
  58.         echo $#                 # Echo number of parameters (shell script)
  59.         echo $2                 # Echo second parameter (shell script)
  60.         echo "$2"               # Echo  second  parameter  without   expanding
  61.                                   spaces
  62.         echo $*                 # Echo all parameters (shell script)
  63.         echo $@                 # Echo all parameters (shell script)
  64.         echo "$@"               # Echo all parameters without expanding spaces
  65.      The shell uses the following variables for specific purposes:
  66.         SHELL                   the path of the current shell
  67.         HOME                    the default value for the cd(1) command
  68.         PATH                    the  directories  to  be  searched   to   find
  69.                                 commands
  70.         IFS                     the  internal  field  separators  for  command
  71.                                 strings
  72.         PS1                     the primary shell prompt
  73.         PS2                     the secondary shell prompt
  74.      There are various forms of substitution on the shell command line:
  75.         `...`                   Command string between back-quotes is replaced
  76.                                 by its output
  77.         "..."                   Permits variable substitution between quotes
  78.         '...'                   Inhibits variable substitution between quotes
  79.         $VAR                    Replaced by contents of variable VAR
  80.         ${VAR}                  Delimits  variable  VAR  from  any   following
  81.                                                                              2
  82. SH(1)                     Minix Programmer's Manual                      SH(1)
  83.                                 string
  84.      The expressions below depend on whether or not VAR has ever been set.  If
  85.      VAR has been set, they give:
  86.         ${VAR-str}              Replace expression by VAR, else by str
  87.         ${VAR=str}              Replace expression by VAR, else by str and set
  88.                                 VAR to str
  89.         ${VAR?str}              Replace expression by VAR, else print str  and
  90.                                 exit shell
  91.         ${VAR+str}              Replace expression by str, else by null string
  92.      If a colon is placed after VAR, the expressions depend on whether or  not
  93.      VAR is currently set and non-null.
  94.      The shell has a number of built-in commands:
  95.         :                       return true status
  96.         . fn                    execute shell script fn on current path
  97.         break [n]               break from a for, until or while loop; exit  n
  98.                                 levels
  99.         continue [n]            continue a for, until or  while  loop;  resume
  100.                                 nth loop
  101.         cd [dir]                change  current  working  directory;  move  to
  102.                                 $HOME
  103.         eval cmd                rescan cmd, performing substitutions
  104.         eval                    rescan the current command line
  105.         exec cmd                execute cmd without creating a new process
  106.         exec <|>                with no command name, modify shell I/O
  107.         exit [n]                exit a shell program, with exit value n
  108.         export [var]            export var to shell's children; list  exported
  109.                                 variables
  110.         pwd                     print  the  name  of   the   current   working
  111.                                 directory
  112.         read var                read a line from stdin and assign to var
  113.         readonly [var]          make var readonly; list readonly variables
  114.         set -f                  set shell flag (+f unsets flag)
  115.         set str                 set positional parameter to str
  116.         set                     show the current shell variables
  117.         shift                   reassign positional parameters  (except  ${0})
  118.                                 one left
  119.         times                   print accumulated user and  system  times  for
  120.                                 processes
  121.         trap arg sigs           trap signals sigs and run arg on receipt
  122.         trap                    list trapped signals
  123.         umask [n]               set the user  file  creation  mask;  show  the
  124.                                 current umask
  125.         wait [n]                wait for process pid n; wait for all processes
  126.                                                                              3
  127. SH(1)                     Minix Programmer's Manual                      SH(1)
  128.      The shell also contains a programming language, which has  the  following
  129.      operators and flow control statements:
  130.         #                       Comment        The rest of the line is ignored
  131.         =                       Assignment     Set a shell variable
  132.         &&                      Logical AND    Execute second command only  if
  133.                                                first succeeds
  134.         ||                      Logical OR     Execute second command only  if
  135.                                                first fails
  136.         (...)                   Group          Execute    enclosed    commands
  137.                                                before continuing
  138.         for                     For loop (for ... in ... do ... done)
  139.         case                    Case statement ((case ... ) ... ;; ... esac)
  140.         esac                    Case statement end
  141.         while                   While loop (while ... do ... done)
  142.         do                      Do/For/While loop start (do ... until ...)
  143.         done                    For/While loop end
  144.         if                      Conditional statement (if ...  else  ...  elif
  145.                                 ... fi)
  146.         in                      For loop selection
  147.         then                    Conditional statement start
  148.         else                    Conditional statement alternative
  149.         elif                    Conditional statement end
  150.         until                   Do loop end
  151.         fi                      Conditional statement end
  152. SEE ALSO
  153.      echo(1), expr(1), pwd(1), true(1).
  154.                                                                              4