man pages section 1: User Commands
  Search only this book
Download this book in PDF (7229 KB)

select(1)

Name | Description | See Also

Name

    shell_builtins, case, for, foreach, function, if, repeat, select, switch, until, while– shell command interpreter built-in commands

Description

    The shell command interpreters csh(1), ksh(1), ksh93(1), and sh(1) have special built-in commands. The commands case, for, foreach, function, if, repeat, select, switch, until, and while are commands in the syntax recognized by the shells. They are described in the Commands section of the manual pages of the respective shells. In ksh93(1), fc, hash, stop, suspend, times, and type are aliases by default. In ksh93, the following built-ins are bound to the /bin pathname by default and are invoked if the pathname search encounters an executable command of that name in the /bin or /usr/bin directory: cat, chown, getconf, head, mkdir, rmdir, tee, uniq, and wc.

    The remaining commands listed in the following table are built into the shells for reasons such as efficiency or data sharing between command invocations. They are described on their respective manual pages.

    Command 

    Shell 

    ++**alias

    csh, ksh, ksh93 

    bg

    csh, ksh, ksh93, sh 

    +*break

    csh, ksh, ksh93, sh 

    builtin

    ksh93 

    case

    csh, ksh, ksh93, sh 

    cat

    ksh93 

    cd

    csh, ksh, ksh93, sh 

    chdir

    csh, sh 

    chown

    ksh93 

    command

    ksh93 

    +*continue

    csh, ksh, ksh93, sh 

    dirs

    csh 

    disown

    ksh93 

    echo

    csh, ksh, ksh93, sh 

    +*eval

    csh, ksh, ksh93, sh 

    +*exec

    csh, ksh, ksh93, sh 

    +*exit

    csh, ksh, ksh93, sh 

    ++**export

    ksh, ksh93, sh 

    false

    ksh, ksh93 

    fc

    ksh, ksh93 

    fg

    csh, ksh, ksh93, sh 

    for

    ksh, ksh93, sh 

    foreach

    csh 

    function

    ksh, ksh93 

    getconf

    ksh93 

    getopts

    ksh, ksh93, sh 

    glob

    csh 

    goto

    csh 

    hash

    ksh, ksh93, sh 

    hashstat

    csh 

    head

    ksh93 

    hist

    ksh93 

    history

    csh 

    if

    csh, ksh, ksh93, sh 

    jobs

    csh, ksh, ksh93, sh 

    kill

    csh, ksh, ksh93, sh 

    let

    ksh, ksh93, 

    limit

    csh 

    login

    csh, ksh, ksh93, sh 

    logout

    csh 

    mkdir

    ksh93 

    nice

    csh 

    +*newgrp

    ksh, ksh93, sh 

    nohup

    csh 

    notify

    csh 

    onintr

    csh 

    popd

    csh 

    print

    ksh, ksh93 

    printf

    ksh93 

    pushd

    csh 

    pwd

    ksh, ksh93, sh 

    read

    ksh, ksh93, sh 

    ++**readonly

    ksh, ksh93, sh 

    rehash

    csh 

    repeat

    csh 

    +*return

    ksh, ksh93, sh 

    select

    ksh, ksh93 

    +set

    csh, ksh, ksh93, sh 

    setenv

    csh 

    shift

    csh, ksh, ksh93, sh 

    sleep

    ksh93 

    source

    csh 

    stop

    csh, ksh, ksh93, sh 

    suspend

    csh, ksh, sh 

    switch

    csh 

    tee

    ksh93 

    test

    ksh, ksh93, sh 

    time

    csh 

    *times

    ksh, ksh93, sh 

    *+trap

    ksh, ksh93, sh 

    true

    ksh, ksh93 

    type

    ksh, ksh93, sh 

    ++**typeset

    ksh, ksh93 

    ulimit

    ksh, ksh93, sh 

    umask

    csh, ksh, ksh93, sh 

    +unalias

    csh, ksh, ksh93 

    unhash

    csh 

    uniq

    ksh93 

    unlimit

    csh 

    +unset

    csh, ksh, ksh93, sh 

    unsetenv

    csh 

    until

    ksh, ksh93, sh 

    *wait

    csh, ksh, ksh93, sh 

    whence

    ksh, ksh93 

    while

    csh, ksh, ksh93, sh 

    Bourne Shell, sh, Special Commands

      Input/output redirection is now permitted for these commands. File descriptor 1 is the default output location. When Job Control is enabled, additional Special Commands are added to the shell's environment.

      In addition to these built-in reserved command words, sh also uses:

      :

      No effect; the command does nothing. A zero exit code is returned.

      .filename

      Read and execute commands from filename and return. The search path specified by PATH is used to find the directory containing filename.

    C shell, csh

      Built-in commands are executed within the C shell. If a built-in command occurs as any component of a pipeline except the last, it is executed in a subshell. In addition to these built-in reserved command words, csh also uses:

      :

      Null command. This command is interpreted, but performs no action.

    Korn Shell, ksh, Special Commands

      Input/Output redirection is permitted. Unless otherwise indicated, the output is written on file descriptor 1 and the exit status, when there is no syntax error, is zero.

      Commands that are preceded by one or two * (asterisks) are treated specially in the following ways:

      1. Variable assignment lists preceding the command remain in effect when the command completes.

      2. I/O redirections are processed after variable assignments.

      3. Errors cause a script that contains them to abort.

      4. Words, following a command preceded by ** that are in the format of a variable assignment, are expanded with the same rules as a variable assignment. This means that tilde substitution is performed after the = sign and word splitting and file name generation are not performed.

      In addition to these built-in reserved command words, ksh also uses:

      * : [ arg . . . ]

      The command only expands parameters.

      * .file [ arg . . . ]

      Read the complete file then execute the commands. The commands are executed in the current shell environment. The search path specified by PATH is used to find the directory containing file. If any arguments arg are specified, they become the positional parameters. Otherwise, the positional parameters are unchanged. The exit status is the exit status of the last command executed. the loop termination test.

    Korn Shell, ksh93, Special Commands

      Input/Output redirection is permitted. Unless otherwise indicated, the output is written on file descriptor 1 and the exit status, when there is no syntax error, is zero.

      Except for :, true, false, echo, newgrp, and login, all built-in commands accept -- to indicate end of options. They also interpret the option --man as a request to display the manual page onto standard error and -? as a help request which prints a usage message on standard error.

      Commands that are preceded by one or two + are treated specially in the following ways:

      1. Variable assignment lists preceding the command remain in effect when the command completes.

      2. I/O redirections are processed after variable assignments.

      3. Errors cause a script that contains them to abort.

      4. They are not valid function names.

      5. Words, following a command preceded by ++ that are in the format of a variable assignment, are expanded with the same rules as a variable assignment. This means that tilde substitution is performed after the = sign and field splitting and file name generation are not performed.

      In addition to these built-in reserved command words, ksh93 also uses:

      : [ arg . . . ]

      The command only expands parameters.

      .name [ arg . . . ]

      If name is a function defined with the function name reserved word syntax, the function is executed in the current environment (as if it had been defined with the name() syntax.) Otherwise if name refers to a file, the file is read in its entirety and the commands are executed in the current shell environment. The search path specified by PATH is used to find the directory containing the file. If any arguments arg are specified, they become the positional parameters while processing the . command and the original positional parameters are restored upon completion. Otherwise the positional parameters are unchanged. The exit status is the exit status of the last command executed.

See Also

SunOS 5.11  Last Revised 20 Nov 2007

Name | Description | See Also