shell内置命令

shell有许多内置到它的源码中的命令。因为命令是内置的,shell无需到磁盘上定位它们,这样执行速度将快得多。 bash提供的help特性提供了所有内置命令的在线帮助。  内置命令

命    令

含    义

:

空命令。返回退出状态零

.

在当前进程的环境下执行程序。同source

.file

点命令读取并执行file里的命令

break

跳出最内层的循环

break [n]

参见14.6节,“循环控制命令”

alias

为存在的命令列出并创建别名

bg

将一个作业放到后台

bind

显示当前键和函数的绑定,或将键和一个readline函数或宏绑定

builtin [sh-builtin [args]]

运行一个shell内置命令,给它传递参数并返回退出状态0。当一个函数和内置命令同名时很有用

                                                      (续表)  

命    令

含    义

cd [arg]

如果没有参数,就将目录改变到主目录或改变到参数的值

command command [arg]

运行一个命令,当有一个函数和它同名时,忽略函数

continue [n]

参见14.6节,“循环控制命令”

declare [var]

显示所有的变量或用可选属性声明变量

dirs

显示pushd产生的当前记录的目录

disown

从作业表中删除一个活动的作业

echo [args]

显示用换行符终止的参数

enable

开启和关闭shell内置命令

eval [args]

读参数作为shell的输入,并执行产生的命令

exec command

执行命令来取代当前的shell

exit [n]

以状态n退出shell

export [var]

使var能被子shell识别

fc

用于编辑历史命令的历史编辑命令

fg

将后台作业放到前台

getopts

解析并处理命令行选项

hash

控制内部哈希表以更快地搜索命令

help [command]

显示关于内置命令的帮助信息,如果指定命令,将显示该内置命令的详细帮助

history

显示带行号的历史清单

jobs

列出放在后台的作业

kill [-singal process]

发送信号给指定PID号或作业号的进程。可在提示符下键入:kill –l

getopts

用于shell脚本以解析命令行并检查合法的选项

let

用来对算术表达式求值并将算术计算的结果赋给变量

local

用在函数中以限制变量在函数中的作用域

logout

退出登录shell

popd

从目录栈中删除项

pushd

往目录栈中添加项

pwd

显示当前工作目录

read [var]

从标准输入读取一行到变量var

readonly [var]

使变量var只读。不能被复位

return [n]

从一个函数返回,n是返回的退出值

set

设置选项和位置参量。参见14.4节,“set命令和位置参量”

shift [n]

向左移动位置参量n次

stop pid

终止PID号进程的执行

suspend

暂停当前shell的执行(如果是一个登录shell就不暂停)

                                                      (续表)  

命    令

含    义

test

检查文件类型且测试条件表达式

times

为从该shell运行的进程显示所累积的用户和系统时间

trap [arg] [n]

当shell接收到信号n(0、1、2或15)时执行参数

type [command]

打印命令的类型。例如,pwd是一个内置shell命令

typeset

和declare一样。设置变量并给它们属性

ulimit

显示并设置进程资源限度

umask [octal digits]

设置创建文件时关于文件属主、属组和其他用户执行权限的掩码

unalias

删除别名

unset [name]

删除变量值或函数

wait [pid#n]

等待后台PID号为n的进程返回并报告终止状态

 

内置变量即预定义变量。在 shell 中,预先定义了几个有特殊含义的 shell 变量,它们的值只能由 shell 根据实际情况进行赋值,而不能通过用户重新设置。所有预定义变量都由 $ 符和另一个符号组成,常用的 shell 预定义变量如下:

  • $#: 位置参数的数量。
  • $*: 所有位置参数的内容。
  • $?: 命令执行后返回的状态。
  • $$: 当前进程的进程号。
  • $!: 后台运行的最后一个进程号。
  • $0: 当前执行的进程名。

其中,$? 用于检查上一个命令执行是否正确。在 Linux 中,命令退出状态为 0 表示该命令正确执行,任何非 0 值表示命令出错。

$$ 变量常用作暂存文件的名称以保证暂存文件不会重复。

你可能感兴趣的:(shell内置命令)