Go to the previous, next section.

Bash Builtin Commands

This section describes builtin commands which are unique to or have been extended in Bash.

builtin
builtin [shell-builtin [args]]
Run a shell builtin. This is useful when you wish to rename a shell builtin to be a function, but need the functionality of the builtin within the function itself.

bind
bind [-m keymap] [-lvd] [-q name]
bind [-m keymap] -f filename
bind [-m keymap] keyseq:function-name

Display current Readline (see section Command Line Editing) key and function bindings, or bind a key sequence to a Readline function or macro. The binding syntax accepted is identical to that of `.inputrc' (see section Readline Init File), but each binding must be passed as a separate argument: `"\C-x\C-r":re-read-init-file'. Options, if supplied, have the following meanings:

-m keymap
Use keymap as the keymap to be affected by the subsequent bindings. Acceptable keymap names are emacs, emacs-standard, emacs-meta, emacs-ctlx, vi, vi-move, vi-command, and vi-insert. vi is equivalent to vi-command; emacs is equivalent to emacs-standard.

-l
List the names of all readline functions

-v
List current function names and bindings

-d
Dump function names and bindings in such a way that they can be re-read

-f filename
Read key bindings from filename

-q
Query about which keys invoke the named function

  • command
    command [-pVv] command [args ...]
    
    Runs command with arg ignoring shell functions. If you have a shell function called ls, and you wish to call the command ls, you can say `command ls'. The -p option means to use a default value for $PATH that is guaranteed to find all of the standard utilities.

    If either the -V or -v option is supplied, a description of command is printed. The -v option causes a single word indicating the command or file name used to invoke command to be printed; the -V option produces a more verbose description.

  • declare
    declare [-frxi] [name[=value]]
    

    Declare variables and/or give them attributes. If no names are given, then display the values of variables instead. -f means to use function names only. -r says to make names readonly. -x says to mark names for export. -i says that the variable is to be treated as an integer; arithmetic evaluation (see section Shell Arithmetic) is performed when the variable is assigned a value. Using + instead of - turns off the attribute instead. When used in a function, declare makes names local, as with the local command.

  • enable
    enable [-n] [-a] [name ...]
    
    Enable and disable builtin shell commands. This allows you to use a disk command which has the same name as a shell builtin. If -n is used, the names become disabled. Otherwise names are enabled. For example, to use the test binary found via $PATH instead of the shell builtin version, type `enable -n test'. The -a option means to list each builtin with an indication of whether or not it is enabled.

  • help
    help [pattern]
    
    Display helpful information about builtin commands. If pattern is specified, help gives detailed help on all commands matching pattern, otherwise a list of the builtins is printed.

  • local
    local name[=value]
    
    For each argument, create a local variable called name, and give it value. local can only be used within a function; it makes the variable name have a visible scope restricted to that function and its children.

  • type
    type [-all] [-type | -path] [name ...]
    
    For each name, indicate how it would be interpreted if used as a command name.

    If the -type flag is used, type returns a single word which is one of "alias", "function", "builtin", "file" or "keyword", if name is an alias, shell function, shell builtin, disk file, or shell reserved word, respectively.

    If the -path flag is used, type either returns the name of the disk file that would be executed, or nothing if -type would not return "file".

    If the -all flag is used, returns all of the places that contain an executable named file. This includes aliases and functions, if and only if the -path flag is not also used.

    Type accepts -a, -t, and -p as equivalent to -all, -type, and -path, respectively.

  • ulimit
    ulimit [-acdmstfpnuvSH] [limit]
    
    Ulimit provides control over the resources available to processes started by the shell, on systems that allow such control. If an option is given, it is interpreted as follows:
    -S
    change and report the soft limit associated with a resource (the default if the -H option is not given).
    -H
    change and report the hard limit associated with a resource.
    -a
    all current limits are reported.

    -c
    the maximum size of core files created.

    -d
    the maximum size of a process's data segment.

    -m
    the maximum resident set size.

    -s
    the maximum stack size.

    -t
    the maximum amount of cpu time in seconds.

    -f
    the maximum size of files created by the shell.

    -p
    the pipe buffer size.

    -n
    the maximum number of open file descriptors.

    -u
    the maximum number of processes available to a single user.

    -v
    the maximum amount of virtual memory available to the process.

    If limit is given, it is the new value of the specified resource. Otherwise, the current value of the specified resource is printed. If no option is given, then `-f' is assumed. Values are in 1024-byte increments, except for `-t', which is in seconds, `-p', which is in units of 512-byte blocks, and `-n' and `-u', which are unscaled values.

  • Go to the previous, next section.