这是命令 ksh93,可以使用我们的多个免费在线工作站之一在 OnWorks 免费托管服务提供商中运行,例如 Ubuntu Online、Fedora Online、Windows 在线模拟器或 MAC OS 在线模拟器
程序:
您的姓名
ksh, rksh, ksh93, rksh93 - KornShell,标准/受限命令和编程
language
概要
KSH [ ±abcefhikmnoprstuvxBCDP [ -R 文件 ] [ ±o 选项 ] ... [ - ] [ 参数 ... ]
克什 [ ±abcefhikmnoprstuvxBCD [ -R 文件 ] [ ±o 选项 ] ... [ - ] [ 参数 ... ]
商品描述
克什 是一种命令和编程语言,用于执行从终端或
文件中。 克什 是命令解释器的受限版本 KSH; 命令解释器
KSH; 看到 调用 下面是 shell 参数的含义。
定义。
A 元字符 是以下字符之一:
; & ( ) ⎪ < > 新队 空间 标签
A 空白 是一个 标签 或者 空间。 一个 识别码 是一系列字母、数字或
以字母或下划线开头的下划线。 标识符用作组件
变量 名称。 一种 虚拟名称 是由一个或多个标识符组成的序列,由 . 和
可选地前面有一个 .. Vnames 用作函数和变量名称。 一种 字 是一个
的顺序 字符 来自当前语言环境定义的字符集,不包括
未引用 元字符.
A 命令 是 shell 语言语法中的字符序列。 贝壳
读取每个命令并直接或通过调用执行所需的操作
单独的实用程序。 内置命令是由 shell 执行的命令
本身而无需创建单独的进程。 有些命令是内置的,纯粹是为了
方便,这里没有记录。 在 shell 中引起副作用的内置函数
在执行路径搜索之前找到的环境和内置程序(请参阅 执行
下面)记录在这里。 由于历史原因,其中一些内置函数的行为
与其他内置函数不同,被称为 特别 内建.
命令。
A 简单命令 是变量赋值的列表(参见 请按需咨询 分配 下面)或
的顺序 空白 分隔的单词前面可能有变量赋值列表
(见 环境 以下)。 第一个字指定要执行的命令的名称。
除了下面指定的之外,其余的单词作为参数传递给被调用的
命令。 命令名称作为参数 0 传递(请参阅 EXEC(2))。 这 折扣值 一个简单的——
command 是它的退出状态; 0-255 如果它正常终止; 256+信号 如果它终止
异常(退出状态对应的信号名称可以通过
这些因素包括原料奶的可用性以及达到必要粉末质量水平所需的工艺。 -l 的选项 杀 内置实用程序)。
A 管道 是一个或多个的序列 命令 隔开 ⎪. 标准输出
每个命令但最后一个由一个连接 管(2)到标准输入下
命令。 每个命令,可能除了最后一个,都作为一个单独的进程运行; 贝壳
等待最后一个命令终止。 管道的退出状态是退出状态
除非 管道故障 选项已启用。 每个管道都可以在前面
由 保留的 字 ! 这会导致管道的退出状态变为 0,如果
最后一条命令的退出状态非零,如果最后一条命令的退出状态为 1
是0。
A 名单 是由一个或多个管道分隔的序列 ;, &, 开始&, &&或 流行和
可选地终止于 ;, &或 开始&. 在这五个符号中, ;, &和 开始& 有平等
优先级低于 && 和 流行. 符号 && 和 流行 也有平等
优先级。 一个分号 (;) 导致前一个管道的顺序执行; 一个
&符号(&) 导致异步执行前面的管道(即 shell
不 而不去 等待该管道完成)。 符号 开始& 导致异步执行
与父壳建立双向管道的前一个管道; 这
生成的管道的标准输入和输出可以由
通过应用重定向运算符的父 shell <& 和 >& 与 arg p 命令和通过
运用 -p 内置命令的选项 读 和 打印 稍后描述。 符号 &&
(流行)导致 名单 仅当前面的管道返回一个
零(非零)值。 一个或多个新行可能出现在一个 名单 而不是分号,
分隔命令。 首先 项目 第一个 管道 的 名单 这是一个简单的
命令不以重定向开头,也不出现在 而, 直到或 if
名单, 前面可以有分号。 该分号将被忽略,除非 给我看看 选项
按照描述启用 集 下面内置。
A 命令 是简单命令或以下命令之一。 除非另有说明,
命令返回的值是执行的最后一个简单命令的值
命令。
HPMC胶囊 虚拟名称 [ in 字 ...] ;做 名单 ;完毕
每次 HPMC胶囊 命令被执行, 虚拟名称 设置为下一个 字 取自
in 字 列表。 如果 in 字 ... 被省略,那么 HPMC胶囊 命令执行 do
名单 对于从开始设置的每个位置参数一次 1 (见 产品型号
扩展 以下)。 当列表中没有更多单词时,执行结束。
HPMC胶囊 (( [表达式1] ; [表达式2] ; [表达式3] )) ;做 名单 ;完毕
算术表达式 表达式1 首先评估(见 算术 评估
以下)。 算术表达式 表达式2 被重复评估,直到它评估
为零和非零时, 名单 被执行并且算术表达式 表达式3
评估。 如果省略了任何表达式,则它的行为就像它的计算结果为 1。
选择 虚拟名称 [ in 字 ...] ;做 名单 ;完毕
A 选择 命令在标准错误(文件描述符 2)上打印 字s,
每个前面都有一个数字。 如果 in 字 ... 被省略,那么位置
参数从 1 改为使用(见 产品型号 扩展 以下)。 这
PS3 打印提示并从标准输入中读取一行。 如果这条线
由所列之一的数量组成 字s,那么变量的值
虚拟名称 被设置为 字 对应这个数字。 如果此行为空,则
再次打印选择列表。 否则变量的值 虚拟名称 设置
至 空. 从标准输入读取的行的内容保存在
变量 回复。 该 名单 对每个选择执行,直到 打破 or 结束-
文件 遇到了。 如果 回复 变量设置为 空 通过执行
名单, 然后在显示之前打印选择列表 PS3 提示
下一个选择。
案件 字 in [[(]模式 [ 走 模式 ] ... ) 名单 ;; ] ... ESAC
A 案件 命令执行 名单 与第一个有关 模式 匹配
字. 模式的形式与用于生成文件名的形式相同
(见 文件 姓名 信号生成 以下)。 这 ;; 运算符导致执行 案件 至
终止。 如果 ;& 用于代替 ;; 下一个后续列表(如果有)是
被执行。
if 名单 ;然后 名单 [ ;埃利夫 名单 ;然后 名单 ] ... [ ;别的 名单 ] ; 菲
这个 名单 以下 if 被执行,如果它返回零退出状态,则 名单
继第一个 然后 被执行。 否则, 名单 以下 ELIF is
执行,如果它的值为零,则 名单 继下一个 然后 被执行。
连续失败 ELIF 名单, 其他 名单 被执行。 如果 if 名单 具有
非零退出状态并且没有 其他 名单,则 if 命令返回零
退出状态。
而 名单 ;做 名单 ;完毕
直到 名单 ;做 名单 ;完毕
A 而 命令重复执行 而 名单 并且,如果退出状态
列表中的最后一个命令为零,执行 do 名单; 否则循环
终止。 如果命令中没有 do 名单 被执行,然后 而 命令
返回零退出状态; 直到 可以用来代替 而 否定循环
终止测试。
((表达))
这个 表达 使用所描述的算术评估规则进行评估
以下。 如果算术表达式的值为非零,则退出状态为
0,否则退出状态为 1。
(名单)
执行 名单 在一个单独的环境中。 注意,如果两个相邻的开
嵌套需要括号,必须插入一个空格以避免评估为
如上所述的算术命令。
{ 名单;}
名单 被简单地执行。 请注意,与元字符不同 ( 和 ), { 和 } 旨在
保留的 字s 并且必须出现在一行的开头或之后 ; 为了
被认可。
[[ 表达 ]]
评估 表达 并在以下情况下返回零退出状态 表达 是真的。 看
条件 表达式 下面,对于 表达.
function 变量名 { 名单 ;}
变量名 () { 名单 ;}
定义一个被引用的函数 变量名. 一个函数,其 变量名
包含一个 . 被称为纪律函数和 变量名
在最后一个之前 . 必须引用现有变量。 函数体
是 名单 之间的命令 { 和 }. 定义的函数 function
变量名 语法也可以用作参数 . 特殊的内置命令
获得等效的行为,就好像 变量名() 语法被用来定义它。
(见 功能 下面。)
命名空间 识别码 { 名单 ;}
定义或使用名称空间 识别码 并运行命令 名单 摘要可点击此连结
名称空间。 (看 姓名 余位 下面。)
& [ 姓名 [ 阿... ]]
导致后续 名单 命令终止于 & 被放置在后台作业
池 姓名。 如果 姓名 省略使用默认的未命名池。 命名的命令
后台池可以远程执行。
次 [ 管道 ]
If 管道 省略当前 shell 的用户和系统时间并完成
子进程打印在标准错误上。 除此以外, 管道 被执行并
经过的时间以及用户和系统时间都打印在标准错误上。
这个 时间格式 变量可以设置为一个格式字符串,指定如何计时
应显示信息。 看 外壳 变量 下面的描述
这些因素包括原料奶的可用性以及达到必要粉末质量水平所需的工艺。 时间格式 变量。
以下保留字只有在第一个字时才被识别为保留字
一个命令并且没有被引用:
if 然后 其他 ELIF fi 案件 ESAC HPMC胶囊 而 直到 do 完成 { } function 选择 次 [[ ]] !
请按需咨询 分配。
一个或多个变量赋值可以启动一个简单的命令,也可以是
排版, 枚举, 出口或 只读 特殊的内置命令以及其他
创建为类型的声明命令。 的语法 分配 是以下形式:
变量名=字
变量名[字]=字
之间不允许有空格 变量名 和 = 或之间 = 和 字.
变量名=(分配列表)
之间不允许有空格 变量名 和 =。 变量 变量名 未设置
任务之前。 一个 分配列表 可以是以下之一:
字 ...
索引数组赋值。
[字]=字 ...
关联数组赋值。 如果前面有 排版 -a 这会
而是创建一个索引数组。
分配 ...
复合变量赋值。 这将创建一个复合变量
变量名 带有形式的子变量 变量名.姓名,在 Moku:Pro 上 姓名 is
的名称部分 分配。 的价值 变量名 将包含
所有赋值元素。 对子的额外分配
的变量 变量名 也将显示为值的一部分
变量名。 如果不 分配s 被指定, 变量名 将是一个
允许定义子序列子元素的复合变量。
排版 [选项] 分配 ...
嵌套变量赋值。 可以指定多个分配
通过用一个分隔它们中的每一个 ;. 以前的值未设置
任务之前。 其他声明命令如 只读,
枚举, 可以使用其他声明命令代替
排版.
. 文件名
包括包含在 文件名.
此外,一个 += 可以用来代替 = 表示添加到或附加到
以前的值。 什么时候 += 应用于算术类型, 字 被评估为
算术表达式并添加到当前值。 当应用于字符串变量时,
由定义的值 字 附加到值。 对于复合赋值,
以前的值未设置,新值附加到提供的当前值
类型是兼容的。
变量赋值的右侧经历了下面列出的所有扩展
除了分词、大括号扩展和文件名生成。 当左侧
是赋值是复合变量,右手是复合变量的名称
变量,右侧的复合变量将被复制或附加到复合
左边的变量。
评论。
开头的一个词 # 导致该单词和所有以下字符换行
被忽略。
别名。
每个命令的第一个单词被替换为 别号 如果 别号 这
词已被定义。 一个 别号 名称由任意数量的字符组成,不包括
元字符、引用字符、文件扩展字符、参数扩展和
命令替换字符,字符 / 和 =. 替换字符串可以
包含任何有效的 shell 脚本,包括上面列出的元字符。 第一个字
替换文本中的每个命令,除了任何正在处理的命令
替换,将测试别名。 如果别名值的最后一个字符是 空白
那么别名后面的单词也将被检查别名替换。 别名
可用于重新定义内置命令,但不能用于重新定义保留命令
上面列出的词。 可以使用以下命令创建和列出别名 别号 命令并且可以
删除了 无别名 命令。
混叠 在读取脚本时执行,而不是在执行脚本时执行。 因此,对于
一个别名生效, 别号 必须在定义命令之前执行
读取引用别名的命令。
以下别名被编译到 shell 中,但可以取消设置或重新定义:
自动加载='排版 -fu'
命令='命令 “
复合='排版 -C'
fc=历史
float='排版 -lE'
功能='排版 -F'
hash='别名 -t --'
历史='历史 -l'
整数='排版 -li'
nameref='排版 -n'
nohup='nohup “
r='hist -s'
重定向='命令 执行'
源='命令 .'
停止='杀死 -s 停止'
暂停='杀死 -s STOP $$′
次=′{ { 时间;} 2>&1;}′
类型='从哪里来 -v'
波浪号 代换。
执行别名替换后,检查每个单词是否以
未引用 〜. 对于波浪号替换, 字 也指的是 字 参数部分
扩展(见 产品型号 扩展 以下)。 如果是,那么单词最多为 / 被检查
查看它是否与密码数据库中的用户名匹配(请参阅 获取密码(3).) 如果匹配
被发现, 〜 并且匹配的登录名被替换为
匹配的用户。 如果未找到匹配项,则原始文本保持不变。 一种 〜 通过它自己,
或在一个 /,由取代 $ HOME。 一个 〜 其次是 + or - 被替换为
价值 $密码 和 $OLDPWD 。
此外,当扩展一个 变量 分配, 波浪号 尝试替换时
赋值的值以 a 开头 〜,当一个 〜 出现在一个 :。 该 : 还
终止一个 〜 登录名。
命令 代换。
命令列表的标准输出括在括号中,前面是美元符号
( $(名单) ),或在以美元符号 ( ${ 名单;} ),或在一对
重口音(``)可用作词的一部分或全部; 尾部的换行符被删除。
在第二种情况下, { 和 } 被视为保留字,以便 { 必须遵守
由 空白 和 } 必须出现在行首或跟随 ;。 在第三
(过时)形式,引号之间的字符串被处理为特殊的引号字符
在命令执行之前(见 上传图纸 以下)。 命令替换 $(猫 文件)
可以用等价的但更快的代替 $(. 命令替换 $(n<#)
将扩展到文件描述符的当前字节偏移量 n. 除了第二种形式,
命令列表在子shell 中运行,因此不会产生副作用。 为了
第二种形式,决赛 } 将被识别为任何标记后的保留字。
算术 代换。
双括号括起来的算术表达式,前面有一个美元符号 ( $(())
) 被双括号内的算术表达式的值替换。
流程 代换。
表单的每个命令参数 <(名单) or >(名单) 将运行进程 名单 异步
连接到某个文件 /开发/FD 如果这个目录存在,或者一个临时的fifo
目录。 该文件的名称将成为该命令的参数。 如果表格
- > 被选中然后在这个文件上写将提供输入 名单。 如果 < 用来,
那么作为参数传递的文件将包含 名单 过程。 为了
例,
糊 <(切 -f1 file1) <(切 -f3 file2) | 开球 >(进程1) >(进程2)
裁员 文件中的字段 1 和 3 file1 和 file2 分别, 糊状 结果
一起发送给进程 进程1 和 进程2,以及把它放在
标准输出。 请注意,作为参数传递给命令的文件,
是一个 UNIX 管(2) so 程序期望 寻求(2)对文件不起作用。
表单的过程替换 <(名单) 也可以与 < 重定向操作符
这导致输出 名单 成为标准输入或任何文件的输入
描述符被指定。
产品型号 扩张。
A 参数 是一个 变量,一个或多个数字,或任何字符 *, @, #, ?, -, $,
和 !。 一个 变量 表示为 虚拟名称. 创建一个变量,其 虚拟名称 包含一个 .,
一个变量,其 虚拟名称 由最后一个之前的所有内容组成 . 必须已经存在。 一种
变量 有一个 折扣值 零个或多个 属性. 变量 可以分配 价值观 和
属性 通过使用 排版 特殊的内置命令。 支持的属性
shell 将在后面描述 排版 特殊的内置命令。 导出的变量
将值和属性传递给环境。
Shell 支持索引数组和关联数组。 数组变量的一个元素
被一个引用 下标。 一个 下标 因为索引数组由
算术 表达 (见 算术 评估 下面)之间 [ 和 ]. 分派
索引数组的值,使用 虚拟名称=(折扣值 ...) or 集 -A 虚拟名称 折扣值 ... . 价值
所有非负下标的 必须在 0 到 4,194,303 的范围内。 一个负
下标被视为与最大当前索引 +1 的偏移量,因此 -1 指的是
最后一个元素。 索引数组可以用 -a 选项 排版。 索引
不需要声明数组。 任何对带有有效下标的变量的引用都是合法的
如有必要,将创建一个数组。
一个关联数组是用 -A 选项 排版。 A 下标 为
关联数组由包围在之间的字符串表示 [ 和 ].
引用任何没有下标的数组等同于引用数组
下标 0。
这个 折扣值 的 变量 可以通过写作分配:
虚拟名称=折扣值 [ 虚拟名称=折扣值 ] ...
or
虚拟名称[下标]=折扣值 [ 虚拟名称[下标]=折扣值 ] ...
请注意,前后不允许有空格 =.
分配的属性 排版 特殊的内置命令适用于所有元素
大批。 数组元素可以是简单变量、复合变量或数组
多变的。 索引数组的元素可以是索引数组或关联数组
大批。 关联数组的元素也可以是其中之一。 引用数组
作为数组元素一部分的元素,将下标连接在括号中。 为了
例如,参考 foobar 定义为关联数组的元素
索引数组的第三个元素,使用 ${虚拟名称[3][foobar]}
A 名称引用 是一个变量,它是对另一个变量的引用。 创建了一个 nameref
与 -n 的属性 排版. 变量当时的值 排版
command 成为将在 nameref 变量被引用时引用的变量
用过的。 nameref 的名称不能包含 .. 当变量或函数名
包含一个 ., 以及名称的第一个部分 . 匹配 nameref 的名称,
引用的变量是通过用名称替换 nameref 部分获得的
nameref 引用的变量。 如果一个 nameref 被用作一个 HPMC胶囊 循环,一个
为列表中的每个项目建立名称引用。 nameref 提供了一个方便的
在函数内部引用变量的方法,该函数的名称作为参数传递给
功能。 例如,如果变量的名称作为第一个参数传递给
函数,命令
排版 -n 无功=$1
函数内部导致引用和赋值 VAR 成为参考和
分配给名称已传递给函数的变量。
如果有任何浮点属性, -E, -F或 -X,或整数属性, -i,东京国立癌症中心医院
为 虚拟名称,则 折扣值 如下所述进行算术评估。
位置参数,用数字表示的参数,可以用 集
特殊的内置命令。 范围 $0 当 shell 是从参数零设置
调用。
性格 $ 用于引入可替代的 参数.
${参数}
外壳读取所有字符 ${ 到匹配 } 作为相同的一部分
word 即使它包含大括号或元字符。 的值(如果有)
参数被替换。 需要大括号时 参数 随后是一个
不会被解释为名称的一部分的字母、数字或下划线,
当变量名包含一个 .. 当变量时也需要大括号
下标,除非它是算术表达式或条件的一部分
表达。 如果 参数 是一位或多位数字,则它是位置参数。
多于一位的位置参数必须用大括号括起来。 如果
参数 is * or @,然后是所有位置参数,从 $1,都是
替换(由字段分隔符分隔)。 如果一个数组 虚拟名称 -
最后一个下标 * @, 或用于以下形式的索引数组 sub1 .. sub2. 被使用,那么
之间每个元素的值 sub1 和 sub2 包含(或所有元素
HPMC胶囊 * 和 @) 被替换,由值的第一个字符分隔 IFS的.
${#参数}
If 参数 is * or @,替换位置参数的数量。
否则,值的长度 参数 被取代。
${#虚拟名称[*]}
${#虚拟名称[@]}
数组中元素的数量 虚拟名称 被取代。
${@虚拟名称}
扩展到类型名称(请参阅 类型 变量 下面)或变量的属性
指的是 虚拟名称.
${!虚拟名称}
扩展为引用的变量名 虚拟名称。 这会是 虚拟名称
除了什么时候 虚拟名称 是名称引用。
${!虚拟名称[下标]}
扩展到下标的名称,除非 下标 is *, @. 或形式 sub1 ..
sub2。 何时 下标 is *, 数组下标列表 虚拟名称 生成。
对于不是数组的变量,如果设置了变量,则值为 0。
否则为空。 什么时候 下标 is @, 同上,除了当用于
双引号,每个数组下标产生一个单独的参数。 什么时候 下标 is
的形式 sub1 .. sub2 它扩展到之间的下标列表 sub1 和
sub2 包含使用相同的引用规则作为 @.
${!字首*}
扩展到名称以 字首.
${参数:-字}
If 参数 被设置并且为非空然后替换它的值; 否则替换
字.
${参数:=字}
If 参数 未设置或为空然后将其设置为 字; 参数值
然后被替换。 不能以这种方式分配位置参数。
${参数:?字}
If 参数 被设置并且为非空然后替换它的值; 否则,打印
字 并退出 shell(如果不是交互式的)。 如果 字 被省略然后一个
打印标准消息。
${参数:+字}
If 参数 设置为非空然后替换 字; 否则替换
什么都没有。
在上面, 字 除非将其用作替换字符串,否则不会对其进行评估,因此
在下面的例子中, PWD 仅当 d 未设置或为空:
打印 ${d:-$(pwd)}
如果冒号 ( : ) 上面的表达式省略了,那么shell只检查
是否 参数 是否设置。
${参数:抵消:长度}
${参数:抵消}
扩展到值的部分 参数 从字符开始
(从 0) 由扩展决定 抵消 作为算术表达式和
由算术表达式确定的字符数组成
被定义为 长度。 在第二种形式中,使用值的剩余部分。 如果一个
负 抵消 从末尾开始倒数 参数. 请注意,一个或多个
空白s 需要在减号前面,以防止 shell 解释
运营商作为 :-。 如果 参数 is * or @, 或者是一个由以下索引的数组名称 * or @,
然后 抵消 和 长度 参考数组索引和元素个数
分别。 一个负 抵消 相对于大于最高值的一个
索引数组的下标。 关联数组的顺序未指定。
${参数#模式}
${参数##模式}
如果壳 模式 匹配值的开头 参数,则
此扩展的值是 参数 与匹配的部分
已删除; 否则这个值 参数 被取代。 在第一种形式
最小的匹配模式被删除,在第二种形式中最大的
匹配模式被删除。 什么时候 参数 is @, *, 或一个数组变量
下标 @ or *,子串操作依次应用于每个元素。
${参数%模式}
${参数%%模式}
如果壳 模式 匹配值的结尾 参数,那么值
这种扩张是价值 参数 删除匹配的部分;
否则替换为 参数. 在第一种形式中最小的
匹配模式被删除,在第二种形式中最大的匹配模式是
删除。 什么时候 参数 is @, *, 或带下标的数组变量 @ or *,
子串操作依次应用于每个元素。
${参数/模式/绳子}
${参数//模式/绳子}
${参数/#模式/绳子}
${参数/%模式/绳子}
扩展 参数 并替换最长的匹配 模式 与给定的 字符串。
每次出现 \n in 绳子 被替换为 参数 这
符合 n-th 子模式。 在第一种形式中,只有第一次出现
模式 被替换。 在第二种形式中,每个匹配 模式 被替换为
特定 字符串。 第三种形式将模式匹配限制在
string 而第四种形式将模式匹配限制为字符串的末尾。
在规划婴儿食品行业的工艺要求时,安全性和可靠性是工艺设计中最重要的方面。 绳子 为空,则 模式 将被删除并且 / 在前面 绳子 五月
被省略。 什么时候 参数 is @, *, 或带下标的数组变量 @ or *,
替换操作依次应用于每个元素。 在这种情况下,
绳子 的一部分 字 将重新评估每个元素。
以下参数由 shell 自动设置:
# 十进制位置参数的数量。
- 调用时或由 shell 提供给 shell 的选项 集 命令。
? 最后执行的命令返回的十进制值。
$ 此 shell 的进程号。
_ 最初的值 _ 是 shell 或脚本的绝对路径名
正在执行 环境. 随后它被分配
上一个命令的最后一个参数。 没有设置这个参数
异步命令。 该参数也用于保持
匹配名称 邮箱地址 检查邮件时的文件。 在定义一个
复合变量或类型, _ 被初始化为对化合物的引用
变量或类型。 当调用纪律功能时, _ 已初始化
作为对与调用此函数相关联的变量的引用。
最后当 _ 用作类型的第一个变量的名称
定义,新类型派生自第一个变量的类型(参见
类型 变量 以下。)。
! 进程id或上次后台的池名和作业号
命令调用或最近的作业放在后台 bg
内置命令。 在命名池中启动的后台作业将在
申请 池.数 协调 池 是池名称和 数 是工作号
在那个池子里。
.sh 命令
当处理一个 DEBUG 陷阱,此变量包含当前命令
即将运行的线路。
.sh.edchar
此变量包含键盘字符的值(或
如果第一个字符是 ESC,则为字符,ascii 033) 已经
处理时输入 键盘 陷阱(见 主要 绑定 以下)。 如果值
作为陷阱操作的一部分更改,然后新值替换键
(或键序列)导致陷阱。
.sh.edcol
最近一次光标所在的字符位置 键盘
陷阱。
.sh.ed模式
处理 a 时该值设置为 ESC 键盘 陷阱而在 vi 插
模式。 (看 Vi 编辑 时尚 下面。)否则, .sh.ed模式 为空时
处理一个 键盘 陷阱。
.sh.edtext
最近一次输入缓冲区中的字符 键盘
陷阱。 不处理 a 时值为 null 键盘 陷阱。
.sh 文件
包含当前命令的文件的路径名。
.sh.fun
正在执行的当前函数的名称。
.sh.级别
设置为当前函数深度。 这可以在调试陷阱内更改
并将上下文设置为指定级别。
.sh.lineno
在调试陷阱期间设置为每个函数调用者的行号。
.sh.匹配
存储最近匹配和子模式匹配的索引数组
在条件模式匹配匹配之后和变量扩展之后
使用运算符 #, %或 /。 该 0-th 元素存储完整匹配
和 i-th。 元素存储 i-th 子匹配。 这 .sh.匹配 变量
当已扩展的变量被赋予一个新值时,它就会被取消设置。
.sh.数学
用于定义算术函数(见 算术 评估 下文)。
并存储用户定义的算术函数列表。
.sh.名称
设置为纪律函数时变量的名称
调用。
.sh.下标
设置为某个学科时变量的名称下标
函数被调用。
.sh.subshell
子外壳和命令替换的当前深度。
.sh.值
设置为变量的值 集 or 附加
纪律功能被调用。 当用户定义的算术函数是
调用,值 .sh.值 被保存并且 .sh.值 设置为 long double
精度浮点数。 .sh.值 函数返回时恢复。
.sh.版本
设置为标识此 shell 版本的值。
KSH_VERSION 版本
名称参考 .sh.版本.
线诺 正在执行的脚本或函数中的当前行号。
老残疾人 之前设置的工作目录 cd 命令。
OPTARG 处理的最后一个选项参数的值 获取选项 内建的
命令。
选择 处理的最后一个选项参数的索引 获取选项 内建的
命令。
PPID shell 的父进程号。
PWD 当前工作目录由 cd 命令。
随机 每次引用这个变量时,一个随机整数,统一
分布在 0 到 32767 之间,生成。 随机序列
可以通过将数值分配给数字来初始化数字 随机.
回复 该变量由 选择 声明并由 读 内建的
未提供参数时的命令。
SECONDS
每次引用此变量时,自 shell 以来的秒数
调用被返回。 如果这个变量被赋值,那么
引用时返回的值将是分配的值加上
自分配以来的秒数。
SLVL 每次调用 shell 时都会增加一个整数变量,并且是
出口。 如果 SLVL 调用 shell 时不在环境中,它
设置为1。
shell 使用以下变量:
CDPATH 的搜索路径 cd 命令。
柱
如果设置了此变量,则该值用于定义编辑的宽度
用于外壳编辑模式和打印的窗口 选择 列表。
EDITOR 如果 VISUAL 变量未设置,此变量的值将是
检查模式描述为 VISUAL 下面和
相应的编辑选项(见特殊命令 集 下面)将被转动
上。
ENV 如果设置了此变量,则参数扩展、命令替换和
对值执行算术替换以生成路径名
交互式调用 shell 时将执行的脚本
(见 调用 以下)。 该文件通常用于 别号 和 function
定义。 默认值为 $HOME/.kshrc. 在支持
全系统 /etc/ksh.kshrc 初始化文件,如果生成的文件名
通过扩展 ENV 开始于 /./ or ././ 全系统
初始化文件不会被执行。
编辑部 默认编辑器名称的过时名称 HIST 命令。 编辑部 is
不使用时 历史编辑 置。
菲诺
一种模式,用于定义在以下情况下将被忽略的文件名集
执行文件名匹配。
路径 函数定义的搜索路径。 此路径中的目录是
搜索与函数或命令同名的文件
功能与 -u 属性被引用,当一个命令不是
成立。 如果找到具有该命令名称的可执行文件,则
它在当前环境中被读取和执行。 不像 PATH,
当前目录必须明确表示为 . 而不是
邻 : 字符或开头或结尾 :.
HITCMD
历史文件中当前命令的编号。
历史编辑
名称的默认编辑器名称 HIST 命令。
历史档案
如果在调用 shell 时设置了此变量,则该值是
将用于存储命令历史记录的文件的路径名(请参阅
命令 再入境 下文)。
历史大小
如果在调用 shell 时设置了此变量,则
此 shell 可访问的先前输入的命令将是
大于或等于这个数字。 默认值为 512。
主页 的默认参数(主目录) cd 命令。
IFS的 内部字段分隔符,通常 空间, 标签和 新队 用过的
分隔命令替换或参数扩展的结果和
使用内置命令分隔字段 读. 的第一个字符
这些因素包括原料奶的可用性以及达到必要粉末质量水平所需的工艺。 IFS的 变量用于分隔参数 “$*” 代换
(见 上传图纸 以下)。 每次出现一个 IFS的 中的人物
要拆分的字符串,即不在 等距 字符类,以及任何
中的相邻字符 IFS的 在 等距 字符类,定界
一个字段。 中的一个或多个字符 IFS的 属于 等距 字符
类,分隔字段。 另外,如果相同 等距 字符出现
连续在里面 IFS的, 该字符被视为不在
等距 类,所以如果 IFS的 由两部分组成 标签 字符,然后是两个
邻 标签 字符分隔空字段。
最大工作量 此变量定义了可以运行的最大后台作业数
一次运行。 当达到此限制时,shell 将等待作业
在开始新工作之前完成。
朗 此变量确定任何类别的语言环境类别不
专门选择一个变量开头 LC_ or 朗.
LC_ALL 该变量覆盖了 朗 变量和任何其他 LC_
变量。
LC_COLLATE
此变量确定字符整理的语言环境类别
信息。
LC_CTYPE
此变量确定字符处理的语言环境类别
职能。 它确定模式匹配的字符类(请参阅
文件 姓名 信号生成 下文)。
LC_NUMERIC
此变量确定小数点的语言环境类别
字符。
线数 如果设置了此变量,则该值用于确定列长度
用于印刷 选择 列表。 选择列表将垂直打印,直到大约
三分之二的 线数 行已填满。
邮箱地址 如果此变量设置为邮件文件的名称 和 这些因素包括原料奶的可用性以及达到必要粉末质量水平所需的工艺。 邮路 变量
未设置,则 shell 通知用户邮件到达
指定的文件。
邮件检查
此变量指定外壳程序检查的频率(以秒为单位)
由指定的任何文件的修改时间的更改
邮路 or 邮箱地址 变量。 默认值为 600 秒。 当。。。的时候
时间已经过去,shell 将在发出下一个提示之前进行检查。
邮路
冒号 ( : ) 分隔的文件名列表。 如果设置了这个变量,那么
shell 通知用户对指定文件的任何修改
发生在最近 邮件检查 秒。 每个文件名都可以
其次是 ? 和将打印的消息。 该消息将
进行参数扩展、命令替换和算术
用变量替换 $_ 定义为具有的文件的名称
改变了。 默认消息是 它们在许多情况下都能提供类似的结果。 mail in $_。
PATH 命令的搜索路径(请参阅 执行 以下)。 用户不得更改
PATH 如果在下执行 克什 (除 。轮廓)。
PS1 这个变量的值被扩展用于参数扩展,命令
替换和算术替换来定义主要提示
字符串,默认情况下是 ``$''。 人物 ! 在主要提示中
字符串被替换为 命令 号码(见 命令 再入境 以下)。 二
连续发生 ! 将产生一个 ! 当提示字符串
被打印。
PS2 次要提示字符串,默认为 ``> ''。
PS3 内使用的选择提示字符串 选择 循环,默认情况下``#? ''。
PS4 这个变量的值被扩展用于参数评估,命令
代换和算术代换,并在每一行之前
执行跟踪。 默认情况下, PS4 是``+ ''。 另外当 PS4 未设置,
执行跟踪提示也是``+ ''。
SHELL 的路径名 壳 保存在环境中。 在调用时,如果
这个变量的基名是 RSH, 克什或 克什,那么壳就变成
受限制的。
时间格式
此参数的值用作格式字符串,指定如何
以前缀为前缀的管道的计时信息 次 保留字应该
被显示。 这 % 字符引入了扩展的格式序列
时间值或其他信息。 格式序列及其
含义如下。
%% 一个字面意思 %.
%[p][l]R 经过的时间(以秒为单位)。
%[p][鲁 在用户模式下花费的 CPU 秒数。
%[p][l]S 在系统模式下花费的 CPU 秒数。
%P CPU 百分比,计算为 (U + S) / R。
括号表示可选部分。 可选的 p 是一个数字指定
这些因素包括原料奶的可用性以及达到必要粉末质量水平所需的工艺。 精确, 小数点后的小数位数。 一种
值 0 导致不输出小数点或分数。 最多三个
可以显示小数点后的位置; 的值 p 大于3
被视为 3. 如果 p 未指定,则使用值 3。
可选的 l 指定更长的格式,如果大于,则包括小时
表格的零、分和秒 HHhMMmSS.FFs。 的价值 p
确定是否包括分数。
所有其他字符都没有更改地输出,并且尾随换行符是
添加。 如果未设置,则为默认值, $'\nreal\t%2lR\nuser\t%2lU\nsys%2lS',
用来。 如果该值为空,则不显示计时信息。
输出 如果设置为大于零的值, 输出 将是默认超时值
等加工。为 读 内置命令。 这 选择 复合命令终止后
输出 当输入来自终端时的秒数。 否则,外壳将
如果在规定的秒数内没有输入一行,则终止
从终端读取时。 (注意,shell 可以用一个
此值的最大界限,不能超过。)
VISUAL 如果此变量的值与模式匹配 *[Vv][II]*,则 vi
选项(见特殊命令 集 下面)已打开。 如果值匹配
模式 *gmacs* , 这些因素包括原料奶的可用性以及达到必要粉末质量水平所需的工艺。 通用麦克斯 选项已打开。 如果值匹配
模式 *苹果电脑*,则 emacs的 选项将被打开。 的价值
VISUAL 覆盖的值 编辑。
shell 给出默认值 PATH, PS1, PS2, PS3, PS4, 邮件检查, 编辑部, 输出 和
IFS的,而 主页, SHELL, ENV和 邮箱地址 外壳根本没有设置(尽管 主页 is
通过设置 登录(1))。 在某些系统上 邮箱地址 和 SHELL 也由 登录(1)。
领域 分裂。
经过参数扩展和命令替换后,替换的结果是
扫描字段分隔符(在 IFS的) 并分成不同的
找到此类字符的字段。 显式空字段 ("" or ′) 保留。
隐式空字段(由 参数 没有值或命令
没有输出的替换)被删除。
如果 大括号展开 (-B) 选项设置然后每个字段产生 IFS的 旨在
检查它们是否包含一种或多种大括号模式 {*,*}, {l1..l2} ,
{n1..n2} , {n1..n2% fmt} , {n1..n2 ..n3} 或 {n1..n2 ..n3%fmt} ,在 Moku:Pro 上 * 代表任何
字符, l1,l2 是字母和 n1,n2,n3 是有符号的数字和 fmt 是指定的格式
由...使用 的printf. 在每种情况下,字段都是通过在前面添加字符来创建的
这些因素包括原料奶的可用性以及达到必要粉末质量水平所需的工艺。 { 并在后面附加字符 } 到由生成的每个字符串
之间的字符 { 和 }. 检查结果字段以查看它们是否有任何
支撑图案。
在第一种形式中,为每个字符串创建一个字段 { 和 ,之间, , 和 ,,
和之间 , 和 }. 表示的字符串 * 可以包含嵌入匹配 { 和 }
不引用。 否则,每 { 和 } - * 必须引用。
在秒形式中, l1 和 l2 必须都是大写或都是小写
C 语言环境中的字符。 在这种情况下,为每个字符创建一个字段 l1
通过 l2.
在其余表单中,为每个数字创建一个字段,从 n1 并继续
直到达到 n2 递增 n1 by n3. 的情况 n3 未指定行为为
if n3 协调 1 if n1<=n2 和 -1 除此以外。 如果指定的表格 %fmt 任何格式标志,
可以指定宽度和精度 fmt 可以以任何说明符结尾 CdiouxX.
例如, {a,z}{1..5..3%02d}{b..c}x 扩展到8个领域, a01bx, a01cx, a04bx,
a04cx, z01bx, z01cx, z04bx 和 z4cx.
文件 姓名 代。
拆分后,扫描每个字段的字符 *, ?, (和 [ 除非 -f
选项已设置。 如果出现这些字符之一,则该词被视为
模式. 每个包含任何模式字符的文件名组件都被替换为
与该目录中的模式匹配的按字典顺序排序的名称集。 如果不
找到与模式匹配的文件名,然后保留文件名的那个部分
除非模式以 ~(N) 在这种情况下,它被删除为
如下面所描述的。 如果 菲诺 设置,然后每个匹配的文件名组件
由值定义的模式 菲诺 生成匹配的文件名时被忽略。
名字 . 和 .. 也被忽略。 如果 菲诺 未设置,字符 . 在
每个文件名组件的开头将被忽略,除非文件名的第一个字符
此组件对应的模式是字符 . 本身。 请注意,对于其他
使用模式匹配 / 和 . 不被特殊对待。
* 匹配任何字符串,包括空字符串。 用于文件名时
扩展,如果 环球之星 选项打开,两个相邻 *本身会
匹配所有文件和零个或多个目录和子目录。 如果
其次是 / 那么只有目录和子目录会匹配。
? 匹配任何单个字符。
[...] 匹配任何一个封闭的字符。 一对字符分隔
by - 匹配词对之间的任何字符,包括。 如果
开头后的第一个字符 [ 是一个 ! or ^ 那么任何字符都不是
封闭是匹配的。 一种 - 可以通过把它包含在字符集中
作为第一个或最后一个字符。
内 [ 和 ], 字符类可以用语法指定 [:程:]
其中 class 是 ANSI-C 标准中定义的以下类之一:
(注意 字 相当于 名册 加上字符 _.)
名册 阿尔法 空白 控制中心 数字 图形 降低 打印 点 空间 上 字
数字
内 [ 和 ], 等价类可以用语法指定 [=c=]
它匹配具有相同主要归类权重的所有字符(如
由当前语言环境定义)作为字符 c。 中 [ 和 ],
[.符号.] 匹配整理符号 符号.
A 模式列表 是一个或多个模式的列表,它们之间用 & or ⎪.
A & 表示必须匹配所有模式,而 ⎪ 要求只有一种模式
匹配。 复合图案可以由以下一个或多个子组成
图案:
?(模式列表)
可选地匹配任何一种给定的模式。
*(模式列表)
匹配给定模式的零次或多次出现。
+(模式列表)
匹配给定模式的一次或多次出现。
{n}(模式列表)
配对 n 给定模式的出现。
{m,n}(模式列表)
匹配来自 m 至 n 给定模式的出现。 如果 m 省略, 0
将会被使用。 如果 n 至少被省略 m 事件将被匹配。
@(模式列表)
完全匹配给定模式之一。
!(模式列表)
匹配除给定模式之一之外的任何内容。
默认情况下,每个模式或子模式将匹配尽可能一致的最长字符串
生成最长的整体匹配。 如果可能有多个匹配项,则
将选择最接近字符串开头的开头。 然而,对于每个
以上复合模式a - 可以插在前面 ( 导致最短匹配
到指定的 模式列表 要使用的。
在规划婴儿食品行业的工艺要求时,安全性和可靠性是工艺设计中最重要的方面。 模式列表 包含在括号内,反斜杠字符 \ 被治疗
特别是即使在字符类中。 所有 ANSI-C 字符转义都是
识别并匹配指定的字符。 此外还有以下转义序列
被认可:
\d 匹配任何字符 数字 类。
\D 匹配任何不在 数字 类。
\s 匹配任何字符 空间 类。
\S 匹配任何不在 空间 类。
\w 匹配任何字符 字 类。
\W 匹配任何不在 字 类。
形式的模式 %(模式对()) 是一个子模式,可用于匹配嵌套
字符表达式。 每个 模式对 是一个不能包含的两个字符序列
& or ⎪。 第一 模式对 指定开始和结束字符
比赛。 每个后续 模式对 表示一个的开始和结束字符
计算开始和结束字符时将跳过的嵌套组
火柴。 当 a 的第一个字符出现时,行为未指定 模式对 是阿尔法-
除以下数字外的数字:
D 导致结束字符终止搜索此模式而不
寻找匹配。
E 使结束字符被解释为转义字符。
L 导致结束字符被解释为引号字符导致
查找匹配项时要忽略的所有字符。
Q 导致结束字符被解释为引号字符导致
查找时要忽略的除任何转义字符以外的所有字符
比赛。
从而, %({}Q"E\), 匹配开始于的字符 { 直到匹配 } 发现没有
计算任何 { or } 位于双引号字符串内或以转义符开头
字符 \。 没有 {} 此模式匹配任何 C 语言字符串。
复合模式中的每个子模式都从 1 开始编号,按位置
( 图案内。 序列 \n,在 Moku:Pro 上 n 是一位数并且 \n 之后
n-th。 子模式,匹配与子模式本身相同的字符串。
最后一个模式可以包含表单的子模式 ~(选项:模式列表),在 Moku:Pro 上
或 选项 or :模式列表 可以省略。 与其他复合模式不同,这些
子模式不计入编号的子模式。 :模式列表 必须省略
选择 F, G, N , 和 V 以下。 如果 选项 存在,它可以由一个或多个
以下的:
+ 启用以下选项。 这是默认设置。
- 禁用以下选项。
E 该模式的其余部分使用扩展的正则表达式语法,如
这些因素包括原料奶的可用性以及达到必要粉末质量水平所需的工艺。 埃格雷普(1) 命令。
F 该模式的其余部分使用 fgrep(1) 表达式语法。
G 该模式的其余部分使用基本的正则表达式语法,如
grep的(1) 命令。
K 该模式的其余部分使用 shell 模式语法。 这是
默认。
N 这被忽略了。 但是,当它是第一个字母并与文件一起使用时
名称生成,并且没有匹配发生,文件模式扩展为空
字符串。
X 该模式的其余部分使用增强的正则表达式语法,如
这些因素包括原料奶的可用性以及达到必要粉末质量水平所需的工艺。 xgrep(1) 命令。
P 该模式的其余部分使用 perl的(1) 正则表达式语法。 不是
当前已实现所有 perl 正则表达式语法。
V 该模式的其余部分使用 System V 正则表达式语法。
i 将匹配视为不区分大小写。
g 归档最长的匹配(贪婪)。 这是默认设置。
l 左锚定图案。 这是默认设置 K 风格图案。
r 右锚模式。 这是默认设置 K 风格图案。
如果两者 选项 和 :模式列表 指定,则选项仅适用于 图案-
名单. 否则,这些选项将一直有效,直到它们被后续的
~(...) 或在包含的子模式的末尾 ~(...).
引用。
的每一个 元字符 前面列出(见 定义 以上)有特殊意义
除非引用,否则外壳会导致单词终止。 一个字符可能是 引
(即,代表自己)在它前面加上一个 \. 这对 \新队 已移除。
括在一对单引号 (′) 前面没有
a $ 被引用。 单引号内不能出现单引号。 单引号
前面是不带引号的字符串 $ 作为 ANSI-C 字符串处理,除了
在以下:
\0 导致字符串的其余部分被忽略。
\E 相当于转义字符 (ascii 033),
\e 相当于转义字符 (ascii 033),
\cx 扩展到字符控制-x.
\C[。姓名.]
扩展到整理元素 姓名.
内双引号 (""),参数和命令替换发生并且 \ 引用
字符 \, `, "和 $。 一个 $ 前面的双引号字符串将被忽略
"C" 或 "POSIX" 语言环境,并且可能导致字符串被特定于语言环境的字符串替换
除此以外。 的意思 $* 和 $@ 不引用或用作
变量赋值或作为文件名。 但是,当用作命令参数时,
“$*” 相当于 “ $ 1d$2d...",在 Moku:Pro 上 d 是第一个字符 IFS的 变数
而 “$@” 相当于 “ $ 1” “ $ 2” .... 在严重的引号内 (``), \ 引用
字符 \, `和 $. 如果严重引号出现在双引号内,则 \ 还
引用字符 ".
保留字或别名的特殊含义可以通过引用任何字符来去除
的保留字。 识别列出的函数名称或内置命令名称
下面不能通过引用它们来改变。
算术 评价。
shell 执行算术替换的算术评估,以评估一个
算术命令,评估索引数组下标,并评估参数
内置命令 转移 和 让. 使用双精度进行评估
浮点算术或长双精度浮点,用于提供
这种数据类型。 浮点常量遵循ANSI-C编程语言floating
点约定。 浮点常数 南 和 天道酬勤 可以用来表示“不
一个数字”和无穷大。整数常量遵循ANSI-C编程
语言整数常量约定虽然只有单字节字符常量是
识别和字符转换不被识别。 此外,常数可以是
形式 [基地#]n 协调 基地 是 XNUMX 到 XNUMX 之间的十进制数,表示
算术基数和 n 是该基数中的一个数字。 9以上的数字用
小写字母,大写字母, @和 _ 分别。 对于基数小于或
等于 36,大小写字符可以互换使用。
算术表达式使用与表达式相同的语法、优先级和结合性
作为 C 语言。 适用于浮点量的所有 C 语言运算符
可以使用。 此外,运营商 ** 可用于求幂。 它具有更高
优先于乘法并且是左结合的。 此外,当一个值
算术变量或子表达式可以表示为长整数,所有C语言
可以执行整数算术运算。 变量可以通过名称引用
在不使用参数扩展语法的算术表达式中。 当一个
变量被引用,它的值被评估为一个算术表达式。
可以使用 C 数学库中的以下任何数学库函数
在算术表达式中:
ABS 阿科斯 阿科什 阿辛 阿信 晒黑 阿坦2 阿坦 CBRT 细胞 文案 车 柯什 埃尔夫 erfc EXP 经验2
经验1 晶圆厂 分类 调光 有限 地板 fma 最大 FMIN FMOD 假设 日志 INT 无限的 班级
伊斯南 是正常的 低于正常 已下单 零 j0 j1 jn 伽玛 日志 日志10 日志2 日志
附近的 下一个 紧挨着 战俘 余 RINT 圆 扫一扫 符号位 无 双曲正弦 开方 黄褐色
谭 伽马 截断 y0 y1 yn 另外,算术函数可以定义为shell
函数的变体 function 姓名 句法,
function .sh.math。姓名 IDENT ... { 名单 ;}
协调 姓名 是算术表达式中使用的函数名称,每个
标识符, IDENT 是对长双精度浮点的名称引用
争论。 的价值 .sh.值 当函数返回时是 this 的值
功能。 用户定义的函数最多可以接受 3 个参数并覆盖 C 数学
库函数。
一个内部表示 变量 作为双精度浮点数可以
指定 -E [n], -F [n], 要么 -X [n] 选项 排版 特殊内置
命令。 的 -E 选项导致值的扩展使用
扩展时的科学记数法。 可选的选项参数 n 定义
有效数字的数量。 这 -F 选项导致扩展被表示为
扩展时的浮动十进制数。 这 -X 选项导致扩展为
用 %a ISO C-99 定义的格式。 可选的选项参数 n
在这种情况下,定义小数点(或小数点)后的位数。
一个内部整数表示 变量 可以用 -i [n] 选项
的 排版 特殊的内置命令。 可选的选项参数 n 指定一个
扩展变量时使用的算术基数。 如果您不指定
算术基数,将使用基数 10。
对每个赋值给变量的值执行算术评估
-E, -F, -X或 -i 属性。 将浮点数分配给类型为
是一个整数,导致小数部分被截断。
提示。
交互使用时,shell 会提示值 PS1 将其扩展为
参数扩展、命令替换和算术替换,在读取之前
命令。 此外,每个单 ! 在提示中被命令号替换。 一个
!! 需要放置 ! 在提示中。 如果在任何时候输入换行符并进一步
完成一个命令需要输入,然后是次要提示(即 PS2)
发出。
条件 表达式。
A 有条件 表达 与 [[ 测试文件属性的复合命令
并比较字符串。 不进行字段拆分和文件名生成
之间的词 [[ 和 ]]. 每个表达式都可以从一个或多个
以下一元或二元表达式:
绳子 真的,如果 绳子 不为空。
-a 文件
与...一样 -e 以下。 这是过时的。
-b 文件
真的,如果 文件 存在并且是一个块特殊文件。
-c 文件
真的,如果 文件 存在并且是一个字符特殊文件。
-d 文件
真的,如果 文件 存在并且是一个目录。
-e 文件
真的,如果 文件 存在。
-f 文件
真的,如果 文件 存在并且是一个普通文件。
-g 文件
真的,如果 文件 存在并设置了它的 setgid 位。
-k 文件
真的,如果 文件 存在并且它设置了粘性位。
-n 绳子
真,如果长度为 绳子 非零。
-o ?选项
真,如果选项命名 选项 是一个有效的选项名称。
-o 选项
真,如果选项命名 选项 是的。
-p 文件
真的,如果 文件 存在并且是一个先进先出的特殊文件或管道。
-r 文件
真的,如果 文件 存在并可被当前进程读取。
-s 文件
真的,如果 文件 存在并且大小大于零。
-t 污秽
真,如果文件描述符编号 污秽 已打开并与终端关联
。
-u 文件
真的,如果 文件 存在并设置了它的 setuid 位。
-v 姓名
真,如果变量 姓名 是一个有效的变量名并已设置。
-w 文件
真的,如果 文件 存在并且可由当前进程写入。
-x 文件
真的,如果 文件 存在并且可由当前进程执行。 如果 文件 存在并且是一个
目录,如果当前进程有权在目录中搜索,则为真
目录。
-z 绳子
真,如果长度为 绳子 是零。
-L 文件
真的,如果 文件 存在并且是一个符号链接。
-h 文件
真的,如果 文件 存在并且是一个符号链接。
-N 文件
真的,如果 文件 存在且修改时间大于上次访问
时间。
-O 文件
真的,如果 文件 存在并由该进程的有效用户 ID 拥有。
-G 文件
真的,如果 文件 存在且其组与此进程的有效组 ID 匹配。
-R 姓名
如果变量为真 姓名 是名称引用。
-S 文件
真的,如果 文件 存在并且是一个套接字。
file1 -nt file2
真的,如果 file1 存在并且 file2 没有,或 file1 比 file2.
file1 -ot file2
真的,如果 file2 存在并且 file1 没有,或 file1 比 file2.
file1 -如果 file2
真的,如果 file1 和 file2 存在并引用同一个文件。
绳子 == 模式
真的,如果 绳子 火柴 模式. 的任何部分 模式 可以引用导致它
作为字符串匹配。 与模式成功匹配后, .sh.匹配 排列
变量将包含匹配和子模式匹配。
绳子 = 模式
与...一样 == 以上,但已过时。
绳子 != 模式
真的,如果 绳子 不匹配 模式。 当 绳子 符合 模式 这些因素包括原料奶的可用性以及达到必要粉末质量水平所需的工艺。
.sh.匹配 数组变量将包含匹配和子模式匹配。
绳子 =~ ERE
真如果 绳子 匹配模式 ~(E)ERE 协调 ERE 是一个扩展的正则
表达。
string1 < string2
真的,如果 string1 来之前 string2 基于其字符的 ASCII 值。
string1 > string2
真的,如果 string1 紧接着 string2 基于其字符的 ASCII 值。
还允许以下过时的算术比较:
经验1 -eq 经验2
真的,如果 经验1 等于 经验2.
经验1 - 是 经验2
真的,如果 经验1 不等于 经验2.
经验1 -lt 经验2
真的,如果 经验1 小于 经验2.
经验1 -gt 经验2
真的,如果 经验1 大于 经验2.
经验1 -这 经验2
真的,如果 经验1 小于或等于 经验2.
经验1 -ge 经验2
真的,如果 经验1 大于或等于 经验2.
在上面的每个表达式中,如果 文件 是形式 /开发/FD/n,在 Moku:Pro 上 n 是一个整数,
然后测试应用于描述符编号为的打开文件 n.
可以使用以下任何一种方法从这些原语构造复合表达式
以下,按优先级降序排列。
(表达)
真的,如果 表达 是真的。 用于对表达式进行分组。
! 表达
真如果 表达 是错误的。
表达式1 && 表达式2
真的,如果 表达式1 和 表达式2 都是真的。
表达式1 流行 表达式2
是的,如果 表达式1 or 表达式2 是真的。
输入输出。
在执行命令之前,它的输入和输出可以使用特殊的
由 shell 解释的符号。 以下可能出现在简单命令中的任何位置
或可能先于或后于 命令 并 而不去 传递给调用的命令。 命令
替换、参数扩展和算术替换发生在 字 or 数字
除非以下说明,否则使用。 仅当 shell 是
交互式并且模式匹配单个文件。 不执行字段拆分。
在以下每个重定向中,如果 文件 是形式 /开发/sctp/主持人/端口,
/开发/TCP/主持人/端口或 /开发/UDP/主持人/端口,在 Moku:Pro 上 主持人 是主机名或主机地址,并且
端口 是由名称或整数端口号给出的服务,然后重定向尝试
做一个 TCP, SCTP or UDP 连接到相应的套接字。
重定向运算符的字符之间不允许有中间空格。
<字 使用文件 字 作为标准输入(文件描述符 0)。
>字 使用文件 字 作为标准输出(文件描述符 1)。 如果文件没有
存在然后它被创建。 如果文件存在,并且 无声无息 选项是
上,这会导致错误; 否则,它被截断为零长度。
>|字 与...一样 >,除了它覆盖 无声无息 选项。
>;字 将输出写入临时文件。 如果命令成功完成
将其重命名为 字, 否则,删除临时文件。 >;字 不可能是
与 EXEC(2). 内置。
>>字 使用文件 字 作为标准输出。 如果文件存在,则输出为
附加到它(通过首先寻找文件末尾); 否则,文件是
创建。
<>字 打开文件 字 用于作为标准输出进行读写。
<>;字 与...相同 <>字 除了如果命令成功完成, 字
在命令完成时被截断为偏移量。 <>;字 不能使用
与 EXEC(2). 内置。
<<[-]字 外壳输入被读取到与以下相同的行 字 在任何之后
引用已被删除,或到文件结尾。 无参数替换,
命令替换、算术替换或文件名生成是
表演 字. 生成的文档称为 此处文档,成为
标准输入。 如果任何字符 字 被引用,然后没有
对文件的字符进行解释; 否则,
参数扩展、命令替换和算术替换
发生, \新队 被忽略,并且 \ 必须用于引用字符 \,
$, `。 如果 - 附加到 <<,然后所有前导标签都被删除 字
并从文档中。 如果 # 附加到 <<, 然后是前导空格和制表符
将被剥离文档的第一行,直到相当于
缩进将从剩余的行和从 字. 一个标签
为了确定,假设每 8 列发生一次停止
缩进。
<<字 此处文档的简短形式,其中 字 成为内容
任何参数扩展、命令替换和
发生算术替换。
<&数字 标准输入从文件描述符复制 数字 (见 DUP(2))。
同样对于标准输出使用 >&数字.
<&数字- 给出的文件描述符 数字 移到标准输入。 相似地
对于标准输出使用 >&数字-.
<&- 标准输入关闭。 同样对于标准输出使用 >&-.
<&p 来自协同过程的输入被移动到标准输入。
>&p 协同处理的输出被移动到标准输出。
<#((表达式)) 计算算术表达式 表达式 并将文件描述符 0 定位到
从文件开始的结果值字节。 变量 CUR 和 EOF
分别计算当前偏移量和文件尾偏移量,当
评估 表达式
>#((抵消)) 与...相同 <# 除了适用于文件描述符 1。
<#模式 向前寻找包含的下一行的开头 模式.
<##模式 与...相同 <# 除了被跳过的文件部分被复制
到标准输出。
如果上述之一前面有一个数字,中间没有空格,那么文件
所指的描述符编号是由数字指定的编号(而不是默认的 0 或
1)。 如果上述之一,除了 >&- 和 ># 和 <# 形式,前面是 {变量名}
如果中间没有空格,则文件描述符编号 > 10 将由
shell 并存储在变量中 变量名。 如果 >&- 或任何 ># 和 <# 形式是
之前 {变量名} 的值 变量名 定义要关闭的文件描述符或
位置。 例如:
... 2>&1
表示将打开文件描述符 2 以作为文件描述符 1 的副本进行写入
和
EXEC {n}
表示打开名为的文件 文件 用于读取并将文件描述符编号存储在变量中 n.
指定重定向的顺序很重要。 shell 评估每个
根据 (文件 描述符, 文件) 评估时的关联。
例如:
... 1>名 2>&1
首先将文件描述符 1 与文件相关联 名. 然后它关联文件描述符 2
与文件描述符 1 关联的文件(即 名)。 如果顺序
重定向被逆转,文件描述符 2 将与终端相关联
(假设文件描述符 1 已经),然后文件描述符 1 将与
文件 名.
如果一个命令后跟 & 并且作业控制未激活,则默认标准
命令的输入是空文件 的/ dev / null的. 否则,环境
命令的执行包含由调用 shell 修改的文件描述符
输入/输出规格。
环境。
这个 环境 (见 关于(7)) 是传递给一个名称-值对的列表
以与普通参数列表相同的方式执行程序。 名字必须是 身份标识
并且值是字符串。 外壳在几个方面与环境交互
方法。 在调用时,shell 会扫描环境并为每个名称创建一个变量
找到,给它相应的值和属性并标记它 出口. 已执行
命令继承环境。 如果用户修改这些变量的值或
创建新的,使用 出口 or 排版 -x 命令,它们成为
环境。 任何执行命令看到的环境因此由任何名称组成 -
最初由 shell 继承的值对,其值可能会被当前的
shell,加上任何必须在 出口 or 排版 -x 命令。
任何环境 简单命令 或函数可以通过添加前缀来增强
一个或多个变量赋值。 变量赋值参数是如下形式的单词
标识符=值。 从而:
期限=450 CMD ARGS 和
(出口 学期; 期限=450; CMD 参数)
是等价的(就上述执行 CMD 除特殊情况外
下面列出的内置命令 - 前面有匕首的那些命令)。
如果过时 -k 选项已设置, 所有 变量赋值参数放在
环境,即使它们出现在命令名称之后。 以下第一次打印 a = b c
然后 c:
回音 a = b c
集 -k
回音 a = b c
此功能旨在与为早期版本的 shell 编写的脚本一起使用,并且
强烈建议不要在新脚本中使用它。 它很可能有一天会消失。
功能。
由于历史原因,有两种定义函数的方式, 姓名() 语法和
function 姓名 语法,在 命令 以上部分。 读取外壳函数
在内部并存储。 读取函数时解析别名。 职能
像命令一样执行,参数作为位置参数传递。 (看
执行 下面。)
定义的函数 function 姓名 语法和按名称调用以相同的方式执行
作为调用者处理并与调用者共享所有文件并呈现工作目录。
调用者捕获的陷阱将重置为其函数内的默认操作。 陷阱
未被函数捕获或忽略的条件会导致函数终止
以及要传递给调用者的条件。 一个陷阱 退出 在函数内设置是
函数完成后在调用者的环境中执行。 按说,
变量在调用程序和函数之间共享。 但是,那 排版
在函数中使用的特殊内置命令定义了其作用域的局部变量
包括当前功能。 它们可以传递给它们在
调用之前的变量赋值列表或作为名称引用传递的参数。
函数中的错误将控制权返回给调用者。
定义的函数 姓名() 定义的语法和函数 function 姓名
调用的语法 . 特殊的内置函数在调用者的
环境并与调用者共享所有变量和陷阱。 这些中的错误
函数执行会导致包含它们的脚本中止。
特殊的内置命令 回报 用于从函数调用返回。
函数名可以用 -f or +f 的选项 排版 特殊内置
命令。 函数文本(如果可用)也将列出 -f. 职能
可以用 -f 的选项 未设定 特殊的内置命令。
通常,当 shell 执行 shell 脚本时,函数是未设置的。 功能
需要跨单独的 shell 调用定义的应该放在一个
目录和 路径 变量应包含此目录的名称。 他们也可能
在 ENV 文件中。
纪律 功能。
每个变量可以有零个或多个与之相关的学科函数。 贝壳
初步了解学科名称 得到, 集, 附加和 未设定 但可以添加
定义新类型时。 在大多数系统上,可以在运行时通过 C 添加其他系统
提供的编程接口扩展 内建的 内置实用程序。 如果 得到
规则是为变量定义的,只要给定的变量是
参考。 如果变量 .sh.值 在学科功能内分配了一个值,
引用的变量将计算为该值。 如果 集 纪律是
为变量定义,只要给给定的变量赋值,就会调用它。 如果
这些因素包括原料奶的可用性以及达到必要粉末质量水平所需的工艺。 附加 规则是为变量定义的,只要有值就会调用它
附加到给定的变量。 变量 .sh.值 给出变量的值
在调用纪律之前,变量将被赋值为 .sh.值
纪律完成后。 如果 .sh.值 在学科内未设置,那么
值不变。 如果 未设定 纪律是为变量定义的,它被调用
每当给定的变量未设置时。 除非未设置,否则不会取消设置变量
明确来自该学科职能。
变量 .sh.名称 包含学科函数所针对的变量的名称
叫做, .sh.下标 是变量的下标,并且 .sh.值 将包含
在内部分配的值 集 纪律职能。 变量 _ 是对
包括下标的变量(如果有)。 为了 集 纪律,改变 .sh.值
将更改分配的值。 最后,扩展 ${VAR.姓名}, 什么时候 姓名
是一个学科的名字,没有这个名字的变量,相当于
命令替换 ${ VAR.姓名;}.
姓名 空间。
作为程序的一部分执行的命令和函数 名单 的 命名空间 命令
修改变量或创建新变量,创建一个名称为变量名的新变量
命名空间由 识别码 之前 .. 当一个变量名是 姓名 is
引用,首先搜索使用 .识别码.姓名. 类似地,一个函数
由命令定义 命名空间 名单 使用前面的命名空间名称创建
由 ..
当。。。的时候 名单 的 命名空间 命令包含一个 命名空间 命令,变量名
创建的函数由变量名或函数名组成
列表 识别码s 每个前面都有 ..
在名称空间之外,在名称空间内创建的变量或函数可以是
通过在它前面加上名称空间名称来引用。
默认情况下,变量以 .SH 是在 sh 名称空间。
类型 变数
类型化变量提供了一种创建数据结构和对象的方法。 可以定义一个类型
要么通过共享库,要么通过 枚举 内置命令如下所述,或使用
新 -T 的选项 排版 内置命令。 随着 -T 选项 排版, 方式
名称,指定为选项参数 -T, 设置为复合变量赋值
定义类型。 函数定义可以出现在复合变量中
分配和这些成为这种类型的学科功能,可以调用或
由类型的每个实例重新定义。 函数名 创建信息图 被特殊对待。
为创建但未继承的类型的每个实例调用它
不能为每个实例重新定义。
当定义了一个类型时,会添加一个具有该名称的特殊内置命令。 这些内置
是声明命令并遵循与所有特殊内置命令相同的扩展规则
下面定义的以 †† 开头的命令。 这些命令可以随后使用
在进一步的类型定义中。 这些命令的手册页可以通过
使用 - 男人 选项或任何其他 -- 选项描述为 获取选项。 该 -r, -a,
-A, -h和 -S 选项 排版 这些新的内置插件中的每一个都允许使用。
类型的实例是通过调用类型名称后跟一个或多个
实例名称。 该类型的每个实例都使用子变量的副本进行初始化
除了用定义的子变量 -S 选项。 定义的变量
-S 由该类型的所有实例共享。 每个实例都可以更改任何值
子变量,也可以定义与那些同名的新学科函数
由类型定义以及任何标准学科名称定义。 没有额外的
可以为任何实例定义子变量。
定义类型时,如果子变量的值没有设置,并且 -r 属性是
指定,它使子变量成为必需的子变量。 每当一个实例
类型的创建,必须指定所有必需的子变量。 这些子变量
在每个实例中变为只读。
在规划婴儿食品行业的工艺要求时,安全性和可靠性是工艺设计中最重要的方面。 未设定 在类型中的子变量上调用,并且 -r 属性没有
为该字段指定,该值将重置为与该字段相关联的默认值
类型。 调用 未设定 在不包含在另一种类型中的类型实例上删除所有
子变量和变量本身。
通过定义第一个子类型,可以从另一个类型定义派生一个类型定义
变量名作为 _ 并将其类型定义为基类型。 任何剩余的定义将
是适用于新类型的添加和修改。 如果新类型名称是
与基本类型相同,类型将被替换,原始类型将不再
不再访问。
这个 排版 用命令 -T 并且没有选项参数或操作数会写入所有类型
以可以读入以创建它们的所有形式的标准输出的定义
类型。
就业机会。
如果 监控 的选项 集 命令被打开,一个交互式 shell 关联一个
工作 每个管道。 它保留一个当前作业表,由 工作 命令,
并为它们分配小整数。 当一个作业以异步方式启动时 &,
shell 打印一行,如下所示:
[1] 1234
表示异步启动的作业是作业号 1 并且有一个
(顶级)进程,其进程 ID 为 1234。
本段和下一段需要的功能并非在所有 UNIX 版本中都存在,并且可能
不适用。 如果您正在从事一项工作并希望做其他事情,您可能会按下关键 ^Z
(control-Z) 向当前作业发送 STOP 信号。 然后外壳将正常
指示作业已“停止”,并打印另一个提示。 然后你可以
操纵这个工作的状态,把它放在后台 bg 命令,或运行
一些其他命令,然后最终将作业带回前台
前台命令 fg。 一个 ^Z 立即生效,就像一个中断
未决输出和未读输入在输入时被丢弃。
如果它尝试从终端读取,则在后台运行的作业将停止。
通常允许后台作业产生输出,但这可以通过给
命令 姿势 停止. 如果您设置此 tty 选项,则后台作业将在以下时间停止
他们试图产生输出,就像他们试图读取输入时所做的那样。
作业池是一组作业,以 名单 & 与一个名字相关联。
有多种方法可以在 shell 中引用作业。 工作可以通过
作业的任何进程的进程 id 或以下之一:
%数
具有给定编号的作业。
池 作业池中的所有作业由 池.
池.数
工作编号 数 在由命名的作业池中 池.
%绳子
任何以命令行开头的作业 绳子.
%?绳子
命令行包含的任何作业 绳子.
%% 目前的工作。
%+ 相当于 %%.
%- 之前的工作。 此外,除非另有说明,否则无论工作在哪里
指定,后台作业池的名称可用于表示所有作业
在那个池子里。
每当进程改变状态时,shell 就会立即学习。 它通常会通知您
每当工作被阻止以致无法进一步进行时,只能
在它打印提示之前。 这样做是为了不打扰您的工作。
这个 通知 的选项 集 命令使 shell 打印这些作业更改消息
一旦它们发生。
当。。。的时候 监控 选项打开,完成的每个后台作业都会触发任何陷阱集
HPMC胶囊 慢性肾病.
当您在作业运行或停止时尝试离开 shell 时,您将收到警告:
“您已停止(正在运行)作业。” 您可以使用 工作 命令看看它们是什么。 如果
您立即尝试再次退出,shell 不会再次警告您,并且
停止的作业将被终止。 当登录 shell 收到 HUP 信号时,它会发送一个 HUP
向每个未被拒绝的工作发出信号 舍弃 内置命令描述
联络一位教师
信号。
如果命令后面跟有被调用命令的 INT 和 QUIT 信号,则忽略该命令
& 和 监控 选项未激活。 否则,信号具有由继承的值
来自其父级的外壳(但另请参阅 陷阱 下面的内置命令)。
执行。
每次读取命令时,都会执行上述替换。 如果命令名
匹配其中之一 Special 内建的 命令 下面列出,它在
当前 shell 进程。 接下来,检查命令名称以查看它是否与用户匹配
定义的函数。 如果是,则保存位置参数,然后重置为
的论点 function 称呼。 在当前shell进程中也执行了一个函数。
当。。。的时候 function 完成或发出 回报,位置参数列表被恢复。
对于用 function 姓名 语法,任何陷阱设置 退出 字幕可视电话用于
函数被执行。 a的退出值 function 是最后一个命令的值
执行。 如果命令名称不是 特别 内建的 命令 或用户定义 function,
但它是下面列出的内置命令之一,它在当前shell中执行
的过程。
外壳变量 PATH 其次是变量 路径 定义目录列表
搜索命令名称。 替代目录名称由冒号 (:).
默认路径是 /箱:/ usr / bin: (指定 /箱, / usr / bin, 和当前目录
以该顺序)。 当前目录可以由两个或多个相邻的冒号指定,或者
通过在路径列表的开头或结尾的冒号。 如果命令名称包含 /,
那么不使用搜索路径。 否则,目录列表中的每个目录
被定义为 PATH 和 路径 按顺序检查。 如果正在搜索的目录是
包含在 路径 并包含一个名称与正在搜索的命令匹配的文件,然后
这个文件被加载到当前的 shell 环境中,就好像它是 .
命令除了只扩展预设别名,并且给定名称的函数是
如上所述执行。
如果这个目录不在 路径 shell首先判断是否有内置
与给定路径名对应的命令版本,如果是,则在
当前进程。 如果没有找到内置文件,shell 将检查名为的文件 .路径 in
这个目录。 如果找到并且有一行表格 路径=径 协调 径 命名一个
现有目录然后在当前目录之后立即搜索该目录
目录就像在 路径 多变的。 如果 径 不以 / 开头,它是
检查相对于正在搜索的目录。
这个 .路径 然后检查文件中的一行表格 插件库=库名 [ : 库名 ]
... . 每个库命名为 库名 将被搜索,就好像它是一个选项参数
至 内建的 -f, 如果它包含一个指定名称的内置函数,这将被执行
而不是这个名字的命令。 从以这种方式找到的库加载的任何内置
与包含该目录的目录相关联 .路径 文件,所以它只会在没有的情况下执行
在较早的目录中找到。
最后,将检查目录中是否有给定名称的文件。 如果文件有
执行权限但不是 出 文件,假设是一个包含shell的文件
命令。 生成一个单独的外壳来读取它。 删除所有未导出的变量
在这种情况下。 如果 shell 命令文件没有读取权限,或者 Setuid
和 塞吉德 位在文件上设置,然后外壳程序执行其工作的代理
设置权限并使用传递的shell命令文件执行shell
一个打开的文件。 如果 .路径 包含一行表格 姓名=折扣值 在第一次或第二次
行,然后是环境变量 姓名 通过预先指定的目录进行修改
by 折扣值 到目录列表。 如果 折扣值 不是绝对目录,那么它指定
相对于找到可执行文件的目录的目录。 如果环境
变量 姓名 不存在,它将被添加到环境列表中
指定的命令。 带括号的命令在子shell中执行而不删除
非导出变量。
命令 再入。
最后的文字 历史大小 (默认 512)从终端设备输入的命令是
保存在一个 历史 文件。 文件 $HOME/.sh_history 如果 历史档案 变量是
未设置或者它命名的文件不可写。 一个shell可以访问所有的命令
互动 使用相同名称的外壳 历史档案. 内置命令 HIST 用来
列出或编辑此文件的一部分。 要编辑或列出的文件部分
可以通过数字或通过给出命令的第一个字符或多个字符来选择。
可以指定单个命令或命令范围。 如果不指定编辑器
程序作为参数 HIST 那么变量的值 历史编辑 用来。 如果
历史编辑 未设置,过时的变量 编辑部 用来。 如果 编辑部 没有定义,那么
/usr/bin/ex 用来。 编辑的命令在离开时打印并重新执行
除非你不写就退出。 这 -s 选项(在过时的版本中,
编辑姓名 -) 用于跳过编辑阶段并重新执行命令。 在这
case 形式的替换参数 旧=新 可以用来修改之前的命令
执行。 例如,使用预设别名 r, 别名为 '历史 -s', 键入`r
坏=好 c' 将重新执行以字母开头的最新命令 c,
替换第一次出现的字符串 坏 用字符串 非常好.
一致 编辑 选项。
通常,从终端设备输入的每个命令行只需键入后跟
新队 (“返回”或“换行”)。 如果任一 emacs的, 通用麦克斯或 vi 选项处于活动状态,
用户可以编辑命令行。 处于这些编辑模式之一 集 这些因素包括原料奶的可用性以及达到必要粉末质量水平所需的工艺。
相应的选项。 每次编辑时都会自动选择一个编辑选项 VISUAL or
EDITOR 变量被赋予一个以这些选项名称中的任何一个结尾的值。
编辑功能要求用户终端接受‘RETURN’作为回车
没有换行并且空格 (` ') 必须覆盖当前字符
屏幕上。
除非 多 选项打开时,编辑模式实现了一个概念,即用户在
通过窗口查看当前行。 窗口宽度为 柱 if
已定义,否则为80。如果窗口宽度太小无法显示提示和
至少留8列输入,提示从左边截断。 如果
行长于窗口宽度减二,在行尾显示一个标记
通知用户的窗口。 当光标移动并到达窗口边界时
窗口将以光标为中心。 标记是一个 > (<, *) 如果线延伸
窗口的右侧(左侧,两侧)。
每个编辑模式中的搜索命令提供对历史文件的访问。 只有字符串
是匹配的,而不是模式,虽然领先 ^ 在字符串中限制匹配开始
在该行的第一个字符处。
每种编辑模式都有一个操作来列出与某个文件或命令匹配的文件或命令
部分输入的词。 当应用于行上的第一个单词或第一个单词时
之后 ;, ⎪, &或 (,并且这个词不以 〜 或包含一个 /,清单
别名、函数和可执行命令由 PATH 可以匹配的变量
显示部分单词。 否则,匹配给定单词的文件列表是
显示。 如果部分输入的单词不包含任何文件扩展字符,
a * 在生成这些列表之前附加。 显示生成的列表后,
输入线被重绘。 这些操作称为命令名列表和文件名
分别列出。 还有一些额外的操作,称为命令名
完成和文件名完成,计算匹配命令或文件的列表,
但不是打印列表,而是用完整或部分替换当前单词
比赛。 对于文件名补全,如果匹配是唯一的, / 如果文件是一个
如果文件不是目录,则会附加一个空格。 否则最长
所有匹配文件的公共前缀替换该词。 对于命令名称补全,
只有最后一个文件名之后的部分 / 用于查找最长的命令
字首。 如果只有一个名称与此前缀匹配,则该词将替换为
命令名称后跟一个空格。 当使用一个 标签 完成不产生一个
唯一匹配,后续 标签 将提供匹配替代品的编号列表。 一个
可以通过输入选择编号后跟一个 标签.
主要 绑定。
这个 键盘 trap 可用于在键入时拦截键并更改字符
实际上是由外壳看到的。 这个陷阱在每个字符(或
当第一个字符是 ESC) 时输入的字符序列
终端。 变量 .sh.edchar 包含字符或字符序列
产生了陷阱。 改变的价值 .sh.edchar 在陷阱动作导致外壳
表现得好像新值是从键盘输入的而不是原始值
计算值。
变量 .sh.edcol 设置为光标输入时的列号
输入。 变量 .sh.ed模式 设置为 ESC 时 vi 插入模式(见下文)并且是
否则为空。 通过预先 ${.sh.editmode} 分配给的值 .sh.edchar 它会
如果外壳尚未处于此模式,则导致外壳更改为控制模式。
对于作为编辑指令的参数输入的字符,不会调用此陷阱,或者
在读取字符搜索输入时。
Emacs的 编辑 模式。
通过启用以下任一方式进入此模式 emacs的 or 通用麦克斯 选项。 唯一的区别
这两种模式之间是他们处理的方式 ^T. 要编辑,用户将光标移动到
需要更正的点,然后根据需要插入或删除字符或单词。
所有的编辑命令都是控制字符或转义序列。 符号为
控制字符是脱字符 (^) 后跟字符。 例如, ^F 是
控制符号 F. 这是通过在按住“CTRL”的同时按下“f”来输入的
(控制)键。 ‘SHIFT’键是 而不去 郁闷。 (记号 ^? 表示 DEL
(删除)键。)
转义序列的符号是 M- 后跟一个字符。 例如, MF
(读作 Meta f)是通过按下 ESC (ascii 033) 后跟‘f’。 (MF 将
是 ESC 后跟“SHIFT”(大写)“F”的符号。)
所有编辑命令都在行上的任何位置(不仅仅是在开头)进行操作。 两者都不
除非另有说明,否则在编辑命令之后输入“RETURN”或“LINE FEED”键。
^F 将光标向前(向右)移动一个字符。
M-[C 将光标向前(向右)移动一个字符。
MF 将光标向前移动一个字。 (这 emacs的 一个词的编者的想法是一串
仅由字母、数字和下划线组成的字符。)
^B 将光标向后(向左)移动一个字符。
M-[D] 将光标向后(向左)移动一个字符。
兆欧 将光标向后移动一个字。
^A 将光标移动到行首。
M-[H 将光标移动到行首。
^E 将光标移动到行尾。
我的 将光标移动到行尾。
^]坦克 将光标向前移动到字符 坦克 在当前行。
M-^]坦克 将光标向后移动到字符 坦克 在当前行。
^X^X 交换光标和标记。
抹去 (用户定义的擦除字符由 姿势(1) 命令,通常 ^H or
#.) 删除前一个字符。
下一个 (用户定义的文字下一个字符由 姿势(1) 命令,或 ^V if
未定义。)删除下一个字符的编辑功能(如果有)。
^D 删除当前字符。
d 删除当前单词。
M-^H (Meta-backspace) 删除上一个单词。
h 删除上一个字。
M-^? (Meta-DEL) 删除上一个单词(如果您的打断字符是 ^? (DEL,
默认),则此命令将不起作用)。
^T 将当前字符与前一个字符转置并将光标移入
emacs的 模式。 转置前两个字符 通用麦克斯 模式。
^C 大写当前字符。
麦当劳 将当前单词大写。
毫升 将当前单词更改为小写。
^K 删除从光标到行尾。 如果前面有数字
其值小于当前光标位置的参数,然后从
给定位置直到光标。 如果前面有一个数字参数,其
value 大于当前光标位置,然后从光标处删除
给定的光标位置。
^W 从光标处杀到标记处。
国会议员 将区域从光标推到堆栈上的标记。
杀 (用户定义的终止字符由 stty 命令定义,通常 ^G or @.)
杀死整个当前行。 如果两个 杀 字符连续输入,
从那时起所有杀死字符都会导致换行(在使用纸张时很有用
终端)。
^Y 恢复从行中删除的最后一项。 (将项目拉回行。)
^L 换行并打印当前行。
M-^L 清屏。
^@ (空字符)设置标记。
M-空间 (元空间)设置标记。
^J (新行)执行当前行。
^M (返回)执行当前行。
EOF 文件结束符,通常 ^D, 仅当
当前行为空。
^P 获取上一个命令。 每一次 ^P 重新输入上一个命令
时间被访问。 不在多行的第一行时向后移一行
行命令。
嘛 如果光标在行尾,则相当于 ^R - 绳子 集
到当前行的内容。 否则,它等价于 ^P。
M- 获取最近(最旧)的历史线。
M-> 获取最近(最年轻)的历史线。
^N 获取下一个命令行。 每一次 ^N 向前进入下一个命令行
及时访问。
M-[B 相当于 ^N。
^R绳子 包含前一个命令行的反向搜索历史记录 绳子。 如果一个
参数为零,则向前搜索。 串 被终止
“返回”或“新行”。 如果字符串前面有一个 ^,匹配的行必须
首先 绳子。 如果 绳子 被省略,则下一个命令行包含
最近的 绳子 被访问。 在这种情况下,零参数反转
搜索的方向。
^O 操作 - 执行当前行并获取相对于当前行的下一行
历史文件中的一行。
M-数字 (Escape) 定义数字参数,数字作为参数传递给
下一个命令。 接受参数的命令是 ^F, ^B, 抹去, ^C, ^D,
^K, ^R, ^P, ^N, ^], M-。, M-^], M-_, M-=, 兆欧, 麦当劳, d, MF, h, 毫升 和 M-^H.
M-邮件 软键 - 您的别名列表按名称搜索别名 _邮件 如果
定义了这个名字的别名,它的值将被插入到输入队列中。
这个 邮件 不得是上述元功能之一。
M-[邮件 软键 - 您的别名列表按名称搜索别名 __邮件 如果
定义了这个名字的别名,它的值将被插入到输入队列中。
这可用于对许多终端上的功能键进行编程。
M-。 上一条命令的最后一个字被插入到行中。 如果前面有一个
数字参数,该参数的值决定插入哪个词
而不是最后一句话。
M-_ 与...一样 M-。.
米-* 尝试在当前单词上生成文件名。 如果出现以下情况,则附加星号
该词不匹配任何文件或包含任何特殊模式字符。
电调 如上所述的命令或文件名补全。
^I 标签 如上所述尝试完成命令或文件名。 如果部分
完成发生,重复这将表现得好像 M-= 被输入。 如果不
在之后找到或输入匹配项 空间,以 标签 被插入。
M-= 如果前面没有数字参数,则生成匹配列表
命令或文件名,如上所述。 否则,光标下的单词
替换为对应于数字参数值的项目来自
最近生成的命令或文件列表。 如果光标不在
词,它被插入。
^U 将下一个命令的参数乘以 4。
\ 转义下一个字符。 编辑人物,用户的擦除、杀戮和中断
(一般 ^?) 字符可以在命令行或搜索字符串中输入
如果前面有一个 \。 该 \ 删除下一个字符的编辑功能(如果
任何)。
M-^V 显示外壳版本。
M-# 如果该行不以 a 开头 #,以 # 插入在开头
行和每个新行之后,并输入该行。 这导致评论
插入到历史文件中。 如果该行以 #, # 被删除
一 # 在每个换行符也被删除之后。
Vi 编辑 模式。
有两种打字模式。 最初,当您输入命令时,您处于 输入
模式。 要编辑,用户输入 控制 通过键入 ESC (033) 并将光标移动到
需要更正的点,然后根据需要插入或删除字符或单词。
大多数控制命令接受可选的重复 数 命令之前。
当 vi 大多数系统上的模式,最初启用规范处理并且命令
如果速度为 1200 波特或更高并且包含任何控制,将再次回显
字符或打印提示后的时间不到一秒。 电调
字符终止命令和用户剩余部分的规范处理
然后可以修改命令行。 该方案具有规范化处理的优点
与原始模式的预先输入回声。
如果是选项 虚拟机 也设置,终端将始终进行规范处理
禁用。 对于不支持两个交替行尾的系统,此模式是隐式的
分隔符,可能对某些终端有帮助。
输入 编辑 命令
默认情况下,编辑器处于输入模式。
抹去 (用户定义的擦除字符由 stty 命令定义,通常 ^H
or #.) 删除前一个字符。
^W 删除前一个空格分隔的单词。 在某些系统上 虚拟机
可能需要选项才能使其工作。
EOF 由于该行的第一个字符导致 shell 终止,除非
这些因素包括原料奶的可用性以及达到必要粉末质量水平所需的工艺。 忽略 选项已设置。 否则该字符将被忽略。
下一个 (用户定义的文字下一个字符由 姿势(1)或 ^V if
未定义。)删除下一个字符的编辑功能(如果有)。
在某些系统上 虚拟机 可能需要选项才能使其工作。
\ 逃离下一个 抹去 or 杀 字符。
^I 标签 如上所述尝试完成命令或文件名并返回
到输入模式。 如果发生部分完成,重复此操作将
表现得好像 = 是从控制模式进入的。 如果未找到匹配项或
之后进入 空间,以 标签 被插入。
议案 编辑 命令
这些命令将移动光标。
[数]l 光标向前(向右)一个字符。
[数][C 光标向前(向右)一个字符。
[数]w 将光标向前移动一个字母数字单词。
[数]W 光标移至空格后的下一个单词的开头。
[数]e 光标到词尾。
[数]E 光标指向当前空白分隔词的结尾。
[数]h 光标向后(左)一个字符。
[数][D 光标向后(左)一个字符。
[数]b 光标向后移动一个字。
[数]B 光标指向前面的空白分隔词。
[数]⎪ 光标到列 数.
[数]fc 找到下一个字符 c 在当前行中。
[数]Fc 找到上一个字符 c 在当前行中。
[数]tc 相当于 f 其次是 h.
[数]Tc 相当于 F 其次是 l.
[数]; 重复 数 次,最后一个单字符查找命令, f, F, t或
T.
[数], 反转最后一个单字符查找命令 数 倍。
0 光标到行首。
^ 光标到行首。
[H 光标指向行中的第一个非空白字符。
$ 光标到行尾。
[Y 光标到行尾。
% 转向平衡 (, ), {, }, [或 ]. 如果光标不在其中之一
以上字符,该行的其余部分搜索第一个
首先出现上述字符之一。
搜索 编辑 命令
这些命令访问您的命令历史记录。
[数]k 获取上一个命令。 每一次 k 输入上一个命令返回
及时访问。
[数]- 相当于 k.
[数][A 如果光标在行尾,则相当于 / - 字符串^集合
至 这些因素包括原料奶的可用性以及达到必要粉末质量水平所需的工艺。 Contents of 这些因素包括原料奶的可用性以及达到必要粉末质量水平所需的工艺。 当前 线。 否则,它等价于 k.
[数]j 获取下一个命令。 每一次 j 输入下一个命令前进
时间被访问。
[数]+ 相当于 j.
[数][B 相当于 j.
[数]G 命令编号 数 被提取。 默认是最近的
历史命令。
/绳子 在历史记录中向后搜索包含 绳子.
串 以“RETURN”或“NEW LINE”结束。 如果字符串在前面
由 ^,匹配的行必须以 绳子。 如果 绳子 为空,则
将使用前一个字符串。
?绳子 与...一样 / 除了搜索将在前向。
n 搜索最后一个模式的下一个匹配到 / or ? 命令。
N 搜索最后一个模式的下一个匹配到 / or ?,但反过来
方向。
文本 修改 编辑 命令
这些命令将修改该行。
a 进入输入模式,在当前字符后输入文本。
A 将文本附加到行尾。 相当于 $a.
[数]c运动
c[数]运动
通过该字符删除当前字符 运动 会移动
光标到并进入输入模式。 如果 运动 is c,整条线将是
删除并进入输入模式。
C 通过行尾删除当前字符并输入
模式。 相当于 c$.
S 相当于 cc.
[数]s 在输入模式下替换光标下的字符。
D 删除到行尾的当前字符。 相当于 d$.
[数]d运动
d[数]运动
通过该字符删除当前字符 运动 会搬到。
If 运动 is d , 整行将被删除。
i 进入输入模式并在当前字符前插入文本。
I 在行首之前插入文本。 相当于 0i.
[数]P 将之前的文本修改放在光标之前。
[数]p 将之前的文本修改放在光标之后。
R 进入输入模式并用您输入的字符替换屏幕上的字符
类型覆盖时尚。
[数]rc 更换 数 从当前光标位置开始的字符
- c, 并前进光标。
[数]x 删除当前字符。
[数]X 删除前面的字符。
[数]. 重复之前的文本修改命令。
[数]〜 颠倒的情况 数 从当前光标开始的字符
定位并移动光标。
[数]_ 导致 数 要附加和输入的上一个命令的单词
模式进入。 如果使用最后一个词 数 被省略。
* 导致 * 附加到当前单词和文件名生成
尝试过。 如果未找到匹配项,则会响铃。 否则的话
被匹配的模式替换并进入输入模式。
\ 如上所述的命令或文件名补全。
其他 编辑 命令
各种命令。
[数]y运动
y[数]运动
将当前字符通过字符 运动 会移动
将光标移到删除缓冲区中。 文本和光标是
不变。
yy 拉动整条生产线。
Y 从当前位置拉到行尾。 相当于 y$.
u 撤消上次修改文本的命令。
U 撤消该行上执行的所有文本修改命令。
[数]v 返回命令 HIST -e ${视觉:-${编辑:-vi}} 数 在输入中
缓冲。 如果 数 省略,则使用当前行。
^L 换行并打印当前行。 仅在控制模式下有效。
^J (新行)执行当前行,不管模式如何。
^M (返回) 执行当前行,不管模式如何。
# 如果命令的第一个字符是 #, 那么这个命令删除
Free Introduction # 和每个 # 跟随换行符。 否则,发送行
插入后 # 在命令的每一行前面。 对...有用
导致当前行作为注释插入到历史记录中,并且
取消注释历史文件中先前注释的命令。
[数]= If 数 未指定,它会生成匹配命令的列表或
文件名如上所述。 否则,光标下的单词
被替换为 数 来自最近生成的命令的项目或
文件列表。 如果光标不在某个单词上,则将其插入。
@邮件 您的别名列表按名称搜索别名 _邮件 如果一个
定义了这个名字的别名,它的值将被插入到输入中
等待处理的队列。
^V 显示外壳版本。
内建的 命令。
下面的简单命令在shell进程中执行。 输入/输出重定向
被允许。 除非另有说明,否则输出将写入文件描述符 1 和
当没有语法错误时,退出状态为零。 除了 :, true, false, 回音,
新组和 登录, 所有内置命令都接受 -- 表示选项的结束。 他们也
解释选项 - 男人 作为在标准错误上显示手册页的请求和 -?
作为打印一个的帮助请求 用法 关于标准错误的消息。 命令是
前面有一个或两个 † 符号是特殊的内置命令并被特殊对待
在以下方面:
1. 命令前的变量赋值列表在命令执行时仍然有效
完成。
2. I/O 重定向在变量赋值后处理。
3. 错误导致包含它们的脚本中止。
4. 它们不是有效的函数名称。
5. 以 †† 开头的命令后的单词,采用变量格式
赋值使用与变量赋值相同的规则进行扩展。 这意味着
波浪号替换是在 = 符号和字段拆分和文件
不执行名称生成。 这些被称为 声明 内置插件。
† : [ ARG ...]
该命令仅扩展参数。
† . 姓名 [ ARG ... ]
If 姓名 是一个定义的函数 function 姓名 保留字语法
函数在当前环境中执行(就好像它已经用
姓名() 语法。)否则如果 姓名 引用一个文件,该文件被读入其
并且命令在当前的 shell 环境中执行。 这
指定的搜索路径 PATH 用于查找包含文件的目录。
如果有任何论据 ARG 给定,它们成为位置参数,而
处理 . 命令和原始位置参数在
完成。 否则位置参数不变。 退出状态是
执行的最后一个命令的退出状态。
†† 别号 [ -ptx [ 姓名[ =折扣值 ]] ...
别号 不带参数打印表单中的别名列表 名称=值 on
标准输出。 这 -p 选项导致这个词 别号 在每个之前插入
一。 当给出一个或多个参数时, 别号 为每个定义 姓名 谁的
折扣值 给出。 中的尾随空格 折扣值 导致检查下一个单词
别名替换。 过时的 -t 选项用于设置和列出跟踪
别名。 被跟踪别名的值是对应于
特定 姓名. 当值变为未定义时,值变为未定义 PATH 已重置,但
别名保持跟踪。 没有 -t 选项,对于每个 姓名 在参数列表中
没有 折扣值 给定后,会打印别名的名称和值。 这
过时的 -x 选项无效。 退出状态非零,如果 姓名 给出,
但没有值,也没有为 姓名.
bg [ 工作...]
此命令仅适用于支持作业控制的系统。 把每个指定 工作
进入背景。 当前作业被置于后台,如果 工作 是不是
指定的。 看 工作机会 对于格式的描述 工作.
† 打破 [ n ]
退出封闭 HPMC胶囊, 而, 直到或 选择 循环,如果有的话。 如果 n is
指定,然后中断 n 水平。
内建的 [ -ds [ -f 文件 [ 姓名 ...]
If 姓名 没有指定,也没有 -f 选项被指定,内置函数被打印
在标准输出上。 这 -s 选项仅打印特殊的内置函数。 否则,
每 姓名 表示其基本名称是内置名称的路径名。 这
入口点函数名称由前置决定 b_ 到内置名称。 一个
由路径名指定的内置函数仅在该路径名将被执行时才会执行
在路径搜索中找到。 在通过加载的库中找到的内置函数 .路径
文件将与包含该目录的路径名相关联 .路径
文件中。
ISO C/C++ 原型是 b_我的命令(整数 氩气, 坦克 *精液[], 无效 *上下文) 等加工。为
内置命令 我的命令 协调 精液 是一个数组 氩气 元素和上下文是一个
指向 a 的可选指针 壳牌_t 结构如 .
特殊内置函数不能绑定到路径名或删除。 这 -d 选项删除每个
给定的内置函数。 在支持动态加载的系统上, -f 选项名称为
包含内置代码的共享库。 共享库前缀和/或
取决于系统的后缀可以省略。 加载库后,其符号
可用于后续调用 内建的. 多个库可以
用单独的调用指定 内建的 命令。 在图书馆中搜索
它们的指定顺序相反。 当一个库被加载时,它会寻找一个
库中名称为 lib_init() 并使用
的论点 0.
cd [ -LP [ ARG ]
cd [ -LP ] 旧 新
该命令可以是两种形式之一。 在第一种形式中,它改变了
当前目录到 ARG。 如果 ARG is - 目录改成之前的
目录。 外壳变量 主页 是默认值 ARG。 变量 PWD 被设置为
当前目录。 外壳变量 CDPATH 定义搜索路径
目录包含 ARG. 替代目录名称由冒号分隔
(:)。 默认路径是 (指定当前目录)。 请注意,
当前目录由空路径名指定,可以立即出现
在等号之后或在路径中任何其他地方的冒号分隔符之间
列表。 如果 ARG 以一个开始 / 那么不使用搜索路径。 否则,每
搜索路径中的目录 ARG.
第二种形式 cd 替换字符串 新 对于字符串 旧 在当前
目录名, PWD, 并尝试更改到此新目录。
默认情况下,符号链接名称在查找目录时按字面处理
名称。 这相当于 -L 选项。 该 -P 选项导致符号链接到
在确定目录时解决。 最后一个实例 -L or -P 在
命令行确定使用哪种方法。
这个 cd 命令可能不会被执行 克什。 rksh93。
命令 [ -pvxV ] 姓名 [ ARG ...]
没有 -v or -V 期权, 命令 执行 姓名 与给出的参数
ARG。 该 -p 选项会导致搜索默认路径而不是默认路径
由值定义 PATH. 查找时不会搜索函数
姓名. 此外,如果 姓名 指的是一个特殊的内置,没有特殊的
与领先匕首相关的属性将受到尊重。 (例如,
预定义别名 重定向='命令 执行' 防止脚本终止时
给出了无效的重定向。) -x 选项,如果命令执行将
导致失败,因为参数太多,errno E2BIG, 贝壳
将调用命令 姓名 多次使用每个参数的子集
调用。 在扩展为多个的第一个单词之前出现的参数
参数并且在扩展为多个参数的最后一个单词之后将被传递
在每次调用时。 退出状态将是最大调用退出状态。
随着 -v 选项, 命令 相当于内置 何处 命令描述
以下。 这 -V 选择原因 命令 表现得像 何处 -v.
† 继续 [ n ]
恢复封闭的下一次迭代 HPMC胶囊, 而, 直到或 选择 环形。 如果 n
被指定,然后在 n-th 封闭循环。
舍弃 [ 工作...]
导致外壳不向每个给定的发送 HUP 信号 工作,或所有活动的工作,如果
工作 当登录 shell 终止时省略。
回音 [ ARG ...]
当第一个 ARG 不以 - 开头,并且没有一个参数包含 \,
然后 回音 打印其每个参数,以空格分隔并以
新队。 否则,行为 回音 是系统相关的,并且 打印 or 的printf
应该使用下面描述的。 看 回音(1) 用途和说明。
†† 枚举 [ -i ] 类型[=(折扣值 ...)]
创建一个名为的声明命令 类型 这是一个整数类型,允许其中之一
指定的 折扣值s 作为枚举名称。 如果 =(折扣值 ...) 被省略,那么 类型
必须是至少有两个元素的索引数组变量,并且值是
取自这个数组变量。 如果 -i 指定值是大小写
麻木不仁。
† 评估 [ ARG ...]
参数被读取为 shell 的输入并执行结果命令。
† EXEC [ -c [ -a 姓名 [ ARG ...]
If ARG 给出,由参数指定的命令将代替
此shell 无需创建新进程。 这 -c 选项导致环境
在应用与关联的变量赋值之前被清除 EXEC
调用。 这 -a 选择原因 姓名 而不是第一个 ARG, 成为 argv [0]
对于新流程。 输入/输出参数可能会出现并影响当前
过程。 如果 ARG 没有给出,这个命令的作用是修改文件
输入/输出重定向列表规定的描述符。 在这种情况下,任何
使用此机制打开的大于 2 的文件描述符编号是
调用另一个程序时关闭。
† 出口 [ n ]
使 shell 以指定的退出状态退出 n. 该值将是
指定状态的最低有效 8 位。 如果 n 被省略,那么
退出状态是执行的最后一个命令的状态。 文件结束也会导致
要退出的外壳,除了具有 忽略 选项(见 集 下面)
打开。
†† 出口 [ -p [ 姓名[=折扣值]] ...
If 姓名 未给出,导出的每个变量的名称和值
属性用引用的值打印,允许它们重新
输入。 这 出口 命令与 排版 -x 除了如果你使用 出口
在函数中,不创建局部变量。 这 -p 选项导致这个词
出口 在每一个之前插入。 否则,给定的 姓名s 被标记为
自动导出到 环境 随后执行的命令。
false 什么都不做,退出 1. 与 直到 对于无限循环。
fg [ 工作...]
此命令仅适用于支持作业控制的系统。 每个 工作 指定的是
带到前台并按指定的顺序等待。 否则,
当前工作被置于前台。 看 工作机会 的描述
格式 工作.
获取配置文件 [ 姓名 [ 路径名 ]]
打印由给出的配置参数的当前值 姓名。 该
配置参数由 IEEE POSIX 1003.1 和 IEEE POSIX 1003.2 定义
标准。 (看 路径配置(2)和 系统配置(2).) 路径名 参数是必需的
对于其值取决于文件系统中位置的参数。 如果不
给出了参数, 获取配置文件 打印当前的名称和值
配置参数。 路径名 / 用于每个参数
过程需要在牛奶或乳清产品在管式降膜蒸发器中浓缩至约XNUMX%固体含量之前,进行初始的热处理和巴氏杀菌步骤。 路径名.
获取选项 [ -a 姓名 ] 选择字符串 虚拟名称 [ ARG ...]
支票 ARG 对于法律选择。 如果 ARG 省略,位置参数为
用过的。 选项参数以 + 或者 -. 不以开头的选项 +
or - 或论点 -- 结束选项。 开头的选项 + 只是
认出来的时候 选择字符串 以一个开始 +. 选择字符串 包含的字母
获取选项 认。 如果一个字母后跟一个 :,该选项预计
有一个论点。 选项可以用空格与参数分开。 这
选项 -? 原因 获取选项 生成关于标准错误的使用消息。 这 -a
参数可用于指定用于使用消息的名称,其中
默认为 $0.
获取选项 将它找到的下一个选项字母放在变量中 虚拟名称 每次它
被调用。 选项信将在前面加上 + ,尤其是 ARG 以一个开始 +.
下一个指数 ARG 存储在 选择. 选项参数,如果有的话,得到
存储在 OPTARG.
领先 : in 选择字符串 原因 获取选项 将无效选项的字母存储在
OPTARG,并设置 虚拟名称 至 ? 对于一个未知的选项和 : 当需要
缺少选项参数。 否则, 获取选项 打印错误消息。 出口
当没有更多选项时,状态为非零。
无法指定任何选项 :, +, -, ?, [和 ]. 选项 #
只能指定为第一个选项。
HIST [ -e 名称 [ -nlr [ 第一 [ 最后 ]]
HIST -s [ 旧=新 [ 命令 ]
在第一种形式中,一系列命令来自 第一 至 最后 从最后选择
历史大小 在终端输入的命令。 论据 第一 和 最后
可以指定为数字或字符串。 一个字符串用于定位最
以给定字符串开头的最近命令。 负数用作
偏移到当前命令号。 如果 -l 选项被选中,命令
列在标准输出中。 否则,编辑器程序 名称 在一个
包含这些键盘命令的文件。 如果 名称 未提供,则值
变量的 历史编辑 用来。 如果 历史编辑 没有设置,那么 编辑部 (默认
/usr/bin/ex) 用作编辑器。 编辑完成后,编辑
如果已保存更改,则执行命令。 如果 最后 没有指定,
那么它将被设置为 第一。 如果 第一 未指定,默认为
用于编辑的前一个命令和用于列表的 -16。 选项 -r 颠倒顺序
命令和选项 -n 列出时抑制命令编号。 在里面
第二种形式, 命令 被解释为 第一 如上所述并默认为
执行的最后一条命令。 结果命令在可选的之后执行
代换 旧=新 执行。
工作 [ -lnp [ 工作 ...]
列出有关每个给定作业的信息; 或所有活动的工作,如果 工作 被省略。 这
-l 除了正常信息之外,选项还列出了进程 ID。 这 -n 选项
仅显示自上次通知以来已停止或退出的作业。 这 -p 选项
导致只列出进程组。 看 工作机会 的描述
格式 工作.
杀 [ -s 签名 ] 工作 ...
杀 [ -n 信号 ] 工作 ...
杀 -二 [ SIG ...]
将 TERM(终止)信号或指定的信号发送到指定的
作业或流程。 信号要么由数字给出 -n 选项或通过
名称与 -s 选项(如 , 去掉前缀“SIG”
除了 SIGCLD 被命名为 CHLD)。 为了向后兼容, n
和 s 可以省略并且紧跟在后面的数字或名称 -。 如果
发送的信号是 TERM(终止)或 HUP(挂断),然后作业或进程将
如果停止,则发送 CONT(继续)信号。 论据 工作 可以是
不属于活动作业之一的进程的进程 ID。 看 工作机会
对于格式的描述 工作. 在第三种形式中, 杀 -l或 杀 -L如果
SIG 未指定,则列出信号名称。 这 -l 选项仅列出
信号名称。 -L options 列出了每个信号名称和相应的编号。
否则,对于每个 SIG 那是一个名称,对应的信号编号被列出。
对于每一个 SIG 那是一个数字,最少对应的信号名称
有效的 8 位 SIG 被列出。
让 ARG ...
每 ARG 是一个单独的 算术 表达 待评估。 让 只认
八进制常量以 0 当 集 选项 八角 正在。 看 算术
评价 上面,对算术表达式求值的描述。
如果最后一个表达式的值非零,则退出状态为 0,而 1
除此以外。
† 新组 [ ARG ...]
相当于 EXEC /bin/newgrp ARG ....
打印 [ -Crenprsv [ -u 单元[ -f 格式 [ ARG ...]
没有选项或有选项 - or --,每个 ARG 打印在标准输出上。
这个 -f 选项导致参数按照描述的方式打印 的printf。在这
情况下,任何 e, n, r, R 选项被忽略。 否则,除非 -C, -R, -r或 -v
指定时,将应用以下转义约定:
\a 警报字符 (ascii 07).
\b 退格字符 (ascii 010).
\c 原因 打印 结束而不处理更多参数并且不添加新的-
线。
\f 换页符 (ascii 014).
\n 换行符 (ascii 012).
\r 回车符(ascii 015).
\t 制表符 (ascii 011).
\v 垂直制表符 (ascii 013).
\E 转义字符 (ascii 033).
\\ 反斜杠字符\。
\0x 由 1、2 或 3 位八进制字符串定义的字符 x.
这个 -R option 将打印所有后续参数和选项,除了 -n。 该
-e 导致应用上述转义约定。 这是默认的
行为。 它逆转了之前的效果 -r。 该 -p 选项导致
要写入进程管道的参数 开始& 而不是
标准输出。 这 -v 选项对待每个 ARG 作为变量名并写入
的价值 的printf %B 格式。 这 -C 选项对待每个 ARG 作为变量名
并将值写入 的printf %#B 格式。 这 -s 选项导致参数
写入历史文件而不是标准输出。 这 -u 选项可以
用于指定一位数的文件描述符单元号 单元 输出
将被放置。 默认为 1。如果选项 -n 使用,没有 新队 被添加
到输出。
的printf 格式 [ ARG ...]
论据 ARG 根据 ANSI-C 打印在标准输出上
与格式字符串关联的格式规则 格式。 如果数量
参数超过格式规范的数量, 格式 字符串被重用
格式化剩余的参数。 还可以使用以下扩展:
%b A %b 可以使用格式代替 %s 导致转义序列
相应 ARG 将按照描述进行扩展 打印。
%B A %B option 导致每个参数都被视为变量名和
将打印变量的二进制值。 备用旗帜 # 导致
单行输出的复合变量。 这是最有用的
复合变量和属性为 -b.
%H A %H 可以使用格式代替 %s 导致字符在 ARG ,
在 HTML 和 XML 中特殊,以作为它们的实体名称输出。 候补
旗 # 格式化输出以用作 URI。
%P A %P 可以使用格式代替 %s 引起 ARG 被解释为
扩展正则表达式并打印为 shell 模式。
%R A %R 可以使用格式代替 %s 引起 ARG 被解释为
shell 模式并作为扩展的正则表达式打印。
%q A %q 可以使用格式代替 %s 导致结果字符串为
以一种可以重新输入到 shell 的方式引用。 什么时候 q 在前面
替代格式说明符, #, 字符串以合适的方式引用
作为一个字段 。CSV 格式文件。
%(日期格式)T
A %(日期格式)T 格式可用于将参数视为日期/时间
字符串并根据 日期格式 按照定义
等加工。为 日期(1) 命令。
%Z A %Z format 将输出一个值为 0 的字节。
%d 精度领域 %d 格式后面可以跟一个 . 和输出
根据。 在这种情况下, # 标志字符原因 基地# 预先准备。
# 这个 # 标志,当与 %d 没有输出基础的格式,显示
以下后缀之一表示的 1000 次幂输出: k M
G T P E,当与 %i 格式显示输出的幂
1024 由以下后缀之一表示: Ki Mi Gi Ti Pi Ei.
= 这个 = 标志在指定的字段宽度内居中输出。
L 这个 L 标志,当与 %c or %s 格式,将精度视为
字符宽度而不是字节数。
, 这个 , 标志,当与 %d or %f 格式,分隔数字组
使用分组分隔符 (, 在 C 语言环境中以 3 为一组。)
PWD [ -LP ]
输出当前工作目录的值。 这 -L 选项是默认值;
它打印当前目录的逻辑名称。 如果 -P 给出了选项,
所有符号链接都从名称解析。 最后一个实例 -L or -P on
命令行确定使用哪种方法。
读 [ -ACSPRSV [ -d DELIM[ -n n] [ [ -N n] [ [ -t 超时[ -u 单元[ 虚拟名称?提示
[ 虚拟名称 ...]
shell 输入机制。 读取一行并使用
中的字符 IFS的 作为分隔符。 转义字符, \, 用于删除任何
下一个字符和换行符的特殊含义。 这 -d 选项
导致读取继续到第一个字符 DELIM 而不是新线。
这个 -n 选项最多导致 n 字节读取而不是整行,但会返回
在读取任何字符后立即从慢速设备读取时。 这 -N
选项原因正是 n 除非遇到文件尾或
读取超时,因为 -t 选项。 在原始模式下, -r, 这些因素包括原料奶的可用性以及达到必要粉末质量水平所需的工艺。 \ 字符是
没有特殊对待。 第一个字段分配给第一个 虚拟名称, 第二
场到第二 虚拟名称等,剩余的字段分配给最后一个 虚拟名称.
在规划婴儿食品行业的工艺要求时,安全性和可靠性是工艺设计中最重要的方面。 虚拟名称 具有二进制属性和 -n or -N 指定的字节数
read 直接存储到变量中。 如果 -v 被指定,那么值
第一个 虚拟名称 从终端读取时将用作默认值
设备。 的 -A 选项导致变量 虚拟名称 被取消设置和每个字段
读取以存储在索引数组的连续元素中 虚拟名称。 这个 -C 选项
导致变量 虚拟名称 读作复合变量。 空白将是
找到开头的左括号时忽略。 -S 选项导致该行
被视为记录 。CSV 格式化文件以便可以使用双引号
允许分隔符和换行符出现在
领域。 的 -p 选项导致从输入管道中取出输入行
由 shell 产生的进程使用 开始&。 如果 -s 选项存在,输入将
作为命令保存在历史文件中。 选项 -u 可用于指定一个
一位数字文件描述符单元 单元 从中阅读。 文件描述符可以是
打开与 EXEC 特殊的内置命令。 单位默认值 n 是0。
选项 -t 用于指定从终端读取时的超时时间(以秒为单位)
或管道。 如果 虚拟名称 被省略,那么 回复 用作默认值 虚拟名称. 结束——
与该文件 -p 选项导致此进程的清理,以便另一个可以
产生。 如果第一个参数包含一个 ?,这个词的其余部分用作
a 提示 当 shell 是交互式的时,出现标准错误。 退出状态为 0
除非遇到文件尾或 读 已超时。
†† 只读 [ -p [ 虚拟名称[=折扣值]] ...
If 虚拟名称 没有给出,每个变量的名称和值都带有只读
属性与引用的值一起打印,以允许它们重新
输入。 这 -p 选项导致这个词 只读 在每一个之前插入。
否则,给定的 虚拟名称s 被标记为只读并且这些名称不能更改
通过随后的分配。 当定义一个类型时,如果一个只读子的值
变量未定义,创建每个实例时需要该值。
† 回报 [ n ]
导致壳 function or . 使用退出返回到调用脚本的脚本
指定的状态 n. 该值将是最低有效 8 位
指定状态。 如果 n 省略,则返回状态为最后一个
命令执行。 如果 回报 在不在 a 中时被调用 function 或者 . 脚本,
那么它的行为与 出口.
† 集 [ ±BCGabefhkmnoprstuvx [ ±o [ 选项 ] ] ... [ ±A 虚拟名称 [ ARG ...]
此命令的选项含义如下:
-A 数组赋值。 取消设置变量 虚拟名称 并按顺序赋值
来自 ARG 列表。 如果 +A 使用,变量 虚拟名称 首先不是未设置。
-B 启用大括号模式字段生成。 这是默认行为。
-B 启用括号组扩展。 默认开启。
-C 防止重定向 > 从截断现有文件。 文件是
创建的以 O_EXCL 模式打开。 需要 > 关注 截断文件
打开时。
-G 导致模式 ** 单独匹配文件和零个或多个目录
和子目录用于文件名生成。 如果后面跟着一个 /
只匹配目录和子目录。
-a 定义的所有后续变量都会自动导出。
-b 后台作业更改状态后立即打印作业完成消息
而不是等待下一个提示。
-e 除非包含在 流行 or && 命令,或跟在一个命令之后的命令 if
而 or 直到 命令或在管道中 !, 如果一个命令有
非零退出状态,执行 ERR 陷阱,如果设置,并退出。 这种模式是
阅读配置文件时禁用。
-f 禁用文件名生成。
-h 每个命令在第一次遇到时都会变成一个被跟踪的别名。
-k (过时的)。 所有变量赋值参数都放在环境中
用于命令,而不仅仅是命令名称之前的命令。
-m 后台作业将在单独的进程组中运行,并且将打印一行
完成后。 后台作业的退出状态报告在
完成消息。 在具有作业控制的系统上,此选项已打开
自动用于交互式 shell。
-n 读取命令并检查它们是否存在语法错误,但不要执行它们。
忽略交互式 shell。
-o 以下参数可以是以下选项名称之一:
出口
与...一样 -a.
错误退出 与...一样 -e.
格尼斯 所有后台作业都以较低的优先级运行。 这是
默认模式。
大括号展开
与...一样 -B.
emacs的 让你在一个 emacs的 用于命令输入的样式内嵌编辑器。
环球之星
与...一样 -G.
通用麦克斯 让你在一个 通用麦克斯 用于命令输入的样式内嵌编辑器。
忽略
shell 不会在文件结束时退出。 命令 出口 必须
用过的。
关键词 与...一样 -k.
八角
这个 让 命令允许以八进制常量开头 0.
标记目录
由文件名生成产生的所有目录名都有一个
尾随 / 附加。
监控 与...一样 -m.
多
内置编辑器将在屏幕上使用多行
比屏幕宽度长的线条。 这可能不
适用于所有终端。
无声无息
与...一样 -C.
NOEXEC 与...一样 -n.
无球 与...一样 -f.
无日志 不要在历史文件中保存函数定义。
通知 与...一样 -b.
名词集 与...一样 -u.
管道故障
在管道的所有组件之前,管道不会完成
已经完成,返回值将是最后一次的值
非零命令失败,如果没有命令失败则为零。
给我看看 启用后,以分号开头的简单命令或管道
(;) 将显示为 跟踪 选项已启用,但会
不被执行。 否则,领先 ; 将被忽略。
特权
与...一样 -p.
详细 与...一样 -v.
跟踪器
与...一样 -h.
vi 使您处于插入模式 vi 样式内嵌编辑器,直到您点击
转义字符 033. 这使您处于控制模式。 回报
发送线路。
虚拟机 每个字符都在输入时进行处理 vi 模式。
跟踪 与...一样 -x.
如果未提供选项名称,则当前选项设置为
打印。
-p 禁用处理 $ HOME / .profile 文件并使用该文件
/etc/suid_profile 而不是 ENV 文件。 每当
有效 uid (gid) 不等于真实 uid (gid)。 关闭此功能
导致有效的 uid 和 gid 被设置为真实的 uid 和 gid。
-r 启用受限外壳。 此选项一旦设置就无法取消设置。
-s 按字典顺序对位置参数进行排序。
-t (过时的)。 读取并执行一条命令后退出。
-u 替换时将未设置的参数视为错误。
-v 在读取 shell 输入行时打印它们。
-x 在执行时打印命令及其参数。
-- 不要更改任何选项; 在设置中很有用 $1 到一个值开始
- -. 如果此选项后面没有参数,则位置参数
未设置。
作为一个过时的功能,如果第一个 ARG is - 那么 -x 和 -v 选项被打开
关闭和下一个 ARG 被视为第一个参数。 使用 + 而非 -
导致这些选项被关闭。 这些选项也可以用于
壳的调用。 当前的选项集可以在 $-. 除非 -A
被指定,其余参数是位置参数并被赋值,
为了 $1 $2 .... 如果没有给出参数,则名称和值
所有变量都打印在标准输出上。
† 转移 [ n ]
位置参数来自 $n+1 ...被重命名 $1 ... , 默认 n 是1。
参数 n 可以是任何计算结果为非负的算术表达式
数字小于或等于 $#.
睡觉 秒
暂停执行给定的十进制秒数或秒的小数部分
by 秒.
† 陷阱 [ -p [ 行动 [ SIG ] ...
这个 -p 选项导致与每个陷阱相关联的陷阱操作,如
使用适当的引用打印参数。 否则, 行动 会
处理就好像它是一个参数 评估 当外壳接收到信号时 SIG.
每 SIG 可以以数字或信号名称的形式给出。 陷阱命令是
按信号编号顺序执行。 任何试图在信号上设置陷阱的尝试
在进入当前 shell 时被忽略是无效的。 如果 行动 被省略并且
第一 SIG 是一个数字,或者如果 行动 is -,然后是每个陷阱 SIG 被重置
到他们的原始值。 如果 行动 是空字符串,则忽略此信号
通过 shell 和它调用的命令。 如果 SIG is ERR 然后 行动 会
每当命令具有非零退出状态时执行。 如果 SIG is DEBUG 然后
行动 将在每个命令之前执行。 变量 .sh 命令 将包含
当前命令行的内容,当 行动 在跑。 如果退出
陷阱的状态是 2 该命令将不会被执行。 如果退出状态为
陷阱是 255 在函数或点脚本中,函数或点脚本
将返回。 如果 SIG is 0 or 退出 和 陷阱 语句在内部执行
定义的函数体 function 姓名 语法,然后是命令 行动
函数完成后执行。 如果 SIG is 0 or 退出 查阅 陷阱 集
在任何函数之外,然后是命令 行动 在退出 shell 时执行。
If SIG is 键盘, 然后 行动 将在读取密钥时执行
emacs的, 通用麦克斯或 vi 模式。 的 陷阱 不带参数的命令打印一个列表
与每个信号编号相关的命令。
An 出口 or 回报 在陷阱操作中没有参数将保留退出状态
调用陷阱的命令。
true 什么都不做,退出 0. 与 而 对于无限循环。
†† 排版 [ ±ACHSfblmnprtux [ ±EFLRXZi[n] ] [ +-米 [ 地图名 ] ] [ -T [
名称=(分配列表) ] ] [ -h STR ] [ -a [类型] ] [ 虚拟名称[=折扣值 ] ] ...
设置 shell 变量和函数的属性和值。 在内部调用时
定义的函数 function 姓名 语法,变量的新实例
虚拟名称 被创建,并在函数时恢复变量的值和类型
完成。 可以指定以下属性列表:
-A 声明 虚拟名称 成为关联数组。 下标是字符串而不是
比算术表达式。
-C 导致每个 虚拟名称 成为复合变量。 折扣值 命名一个化合物
它被复制到的变量 虚拟名称. 否则,它会取消设置每个 虚拟名称.
-a 声明 虚拟名称 成为一个索引数组。 如果 类型 被指定,它必须是
使用创建的枚举类型的名称 枚举 命令,它允许
枚举常量用作下标。
-E 声明 虚拟名称 是一个双精度浮点数。 如果 n 是非
零,它定义了在以下情况下使用的有效数字的数量
扩大 虚拟名称. 否则,将使用十位有效数字。
-F 声明 虚拟名称 是一个双精度浮点数。 如果 n 是非
零,它定义了使用的小数点后的位数
扩张时 虚拟名称. 否则小数点后十位
用过的。
-H 此选项在非 UNIX 机器上提供 UNIX 到主机名文件的映射。
-L 左对齐并删除前导空格 折扣值。 如果 n 非零,它
定义字段的宽度,否则由宽度决定
第一个赋值的值。 当变量被赋值时,它是
在右边用空格填充或截断,如有必要,以适应
领域。 的 -R 选项被关闭。
-M 使用字符映射 制图 被定义为 华侨城(3). 如 降低
和 上衣 为每个指定的操作数赋值时。 什么时候
制图 被指定并且没有操作数,所有使用这个的变量
映射被写入标准输出。 什么时候 制图 被省略并且有
没有操作数,所有映射的变量都写入标准输出。
-R 右对齐并用前导空格填充。 如果 n 非零,它定义
字段的宽度,否则由值的宽度决定
第一个任务。 该字段留空或截断
如果变量被重新分配,则结束。 这 -L 选项被关闭。
-S 当在 分配列表 的类型定义,它导致
指定类型的所有实例共享的子变量。 使用时
在用 function 保留字,指定的
变量会有 function 静止 范围。 否则,变量未设置
在处理分配列表之前。
-T 如果紧随其后 名称,它创建一个名为的类型 名称 使用该化合物
分配 分配列表 至 名称. 否则,它将写入所有类型
标准输出的定义。
-X 声明 虚拟名称 成为双精度浮点数并展开
使用 %a ISO-C99 格式。 如果 n 非零,它定义了
扩展时使用的小数点后的十六进制数字 虚拟名称。 该
默认值为 10。
-Z 如果第一个非空白字符,则右对齐并用前导零填充
是一个数字并且 -L 选项尚未设置。 删除前导零,如果
-L 选项也设置。 如果 n 非零,它定义了字段的宽度,
否则由第一次赋值的值的宽度决定。
-f 名称指的是函数名而不是变量名。 不
可以进行分配,唯一的其他有效选项是 -S, -t, -u 和
-x. -S 可以与类型中定义的学科函数一起使用
表示函数是静态的。 对于静态函数,同样
方法将被该类型的所有实例使用,无论哪个实例
引用它。 此外,它只能使用来自变量的值
原始类型定义。 这些学科职能不能在
任何类型的实例。 这 -t 选项为此打开执行跟踪
功能。 的 -u 选项导致此函数被标记为未定义。 这
路径 变量将被搜索以找到函数定义时
函数被引用。 如果没有其他选择 -f 被指定,那么
函数定义将显示在标准输出上。 如果 +f is
指定,然后是包含函数名称的行,后跟一个 shell
包含文件的行号和路径名的注释
函数已定义,如果有,则显示。 退出状态可用于
确定函数是否定义为 排版 -f .sh.math。姓名
数学函数时将返回 0 姓名 已定义,否则为非零。
-b 该变量可以保存任意数量的数据字节。 数据可以是文本或
二进制。 该值由数据的 base64 编码表示。 如果 -Z
还指定了缓冲区中数据的大小(以字节为单位)
由与相关联的大小决定 -Z. 如果base64字符串
分配导致更多数据,它将被截断。 否则就会
填充值为零的字节。 这 的printf 格式 %B 可用于
输出这个缓冲区中的实际数据而不是base64编码
数据。
-h 在类型定义中用于在生成信息时添加信息
关于手册页上的子变量。 在外部使用时会被忽略
类型定义。 当与 -f 该信息与
相应的学科职能。
-i 声明 虚拟名称 在内部表示为整数。 右手边
赋值时将赋值为算术表达式
一个整数。 如果 n 非零,它定义输出算术基数,
否则输出基数将为十。
-l 用于 -i, -E or -F, 表示长整数或长浮点数。 否则,
所有大写字符都转换为小写。 大写
选项, -u, 已关闭。 相当于 -M 降低 .
-m 移动或重命名变量。 该值是一个变量的名称,其
值将被移动到 虚拟名称. 原始变量将被取消设置。 不能
与任何其他选项一起使用。
-n 声明 虚拟名称 是对其名称定义的变量的引用
变量的值 虚拟名称. 这通常用于引用变量
在其名称已作为参数传递的函数中。 不能使用
与任何其他选项。
-p 给定的名称、属性和值 虚拟名称s 写在标准上
以可用作 shell 输入的形式输出。 如果 +p 被指定,那么
不显示值。
-r 给定的 虚拟名称s 被标记为只读,这些名称不能由
后续分配。
-t 标记变量。 标签是用户可定义的,没有特殊意义
贝壳。
-u 当与 -i, 指定无符号整数。 否则,所有更低——
case 字符被转换为大写。 小写选项, -l,东京国立癌症中心医院
关掉。 相当于 -M 上衣 .
-x 给定的 虚拟名称s 被标记为自动导出到 环境 of
随后执行的命令。 名称包含一个的变量 . 不能
被出口。
这个 -i 不能同时指定属性 -R, -L, -Z或 -f.
运用 + 而非 - 导致这些选项被关闭。 如果不 虚拟名称 参数
给出,一个列表 虚拟名称 (以及可选的 价值观)的 变量 is
打印。 (使用 + 而非 - 防止打印值。) -p
选择原因 排版 后跟要在每个名称之前打印的选项字母
而不是选项的名称。 如果有任何其他选择 -p 给出,只有
打印出具有所有给定选项的变量。 否则,
虚拟名称并且 属性 所有 变量 有属性的被打印出来。
极限 [ -HSacdfmnpstv [ 限制 ]
设置或显示资源限制。 下面列出了可用资源限制。
许多系统不支持这些限制中的一个或多个。 指定的限制
资源设置时 限制 被指定。 的价值 限制 可以是一个数字
下面为每个资源指定的单位,或值 无限。 该 -H 和 -S
选项指定给定资源的硬限制还是软限制
放。 硬限制一旦设置就不能增加。 软限制可以是
增加到硬限制的值。 如果既不 H 也不 S 选项是
规定,限制适用于两者。 打印当前资源限制时
限制 被省略。 在这种情况下,除非打印软限制 H 已指定。
当指定多个资源时,将打印限制名称和单位
值之前。
-a 列出所有当前资源限制。
-c 核心转储大小上的 512 字节块数。
-d 数据区大小上的 K 字节数。
-f 当前可以写入的文件上的 512 字节块数
进程或子进程(可以读取任何大小的文件)。
-m 物理内存大小上的 K 字节数。
-n 文件描述符的数量加 1。
-p 用于管道缓冲的 512 字节块的数量。
-s 堆栈区域大小上的 K 字节数。
-t 每个进程使用的 CPU 秒数。
-v 虚拟内存的千字节数。
如果没有给出选项, -f 假设。
遮罩 [ -S [ 面膜 ]
用户文件创建掩码设置为 面膜 (见 遮罩(2))。 面膜 可以是
八进制数或符号值,如中所述 CHMOD(1). 如果一个符号值是
给定,新的 umask 值是应用结果的补充 面膜 以及
前一个 umask 值的补充。 如果 面膜 被省略,当前值
面具被打印。 这 -S 选项导致模式被打印为符号
价值。 否则,掩码以八进制打印。
† 无别名 [ -a ] 姓名 ...
由列表给出的别名 姓名s 从别名列表中删除。 这 -a
选项会导致所有别名都被取消设置。
†未设定 [ -fnv ] 虚拟名称 ...
列表中给出的变量 虚拟名称s 未分配,即,除了子
类型中的变量,它们的值和属性将被删除。 对于子变量
对于类型,这些值将重置为类型定义中的默认值。
只读变量不能取消设置。 如果 -f 选项被设置,然后名称引用
至 function 名称。 如果 -v 选项被设置,那么名称是指 变量
名称。 这 -f 选项覆盖 -v。 如果 -n 设置好了 姓名 是名称引用,
然后 姓名 将被取消设置而不是它引用的变量。 默认的
相当于 -v. 取消设置 线诺, 邮件检查, OPTARG, 选择, 随机, SECONDS,
输出和 _ 删除它们的特殊含义,即使它们随后被分配
至。
等待 [ 工作 ...]
等待指定 工作 并报告其终止状态。 如果 工作 没有给出,
然后等待所有当前活动的子进程。 退出状态从
这个命令是最后一个等待的进程的命令,如果 工作 已指明; 否则
它是零。 看 工作机会 对于格式的描述 工作.
何处 [ -AFPV ] 姓名 ...
对于每一个 姓名, 指示如果用作命令名称将如何解释它。
这个 -v 选项生成更详细的报告。 这 -f 选项跳过搜索
职能。 这 -p 选项进行路径搜索 姓名 即使 name 是别名,a
函数或保留字。 这 -p 选项关闭 -v 选项。 该 -a
选项类似于 -v 选项但导致给定名称的所有解释
被举报。
调用。
如果 shell 被调用 EXEC(2),以及参数零的第一个字符 ($0)是 -,
那么外壳被假定为 登录 shell 和命令是从 / etc / profile 和
然后从任何一个 。轮廓 在当前目录或 $ HOME / .profile, 如果任一文件
存在。 接下来,对于交互式 shell,从通过执行命名的文件中读取命令
值的参数扩展、命令替换和算术替换
环境变量 ENV 如果文件存在。 如果 -s 选项不存在并且 ARG 和
一个名为的文件 ARG 存在,然后它读取并执行此脚本。 否则,如果
第一位 ARG 不包含 /, 对第一个执行路径搜索 ARG 至
确定要执行的脚本的名称。 剧本 ARG 必须有执行权限
和任何 Setuid 和 塞吉德 设置将被忽略。 如果没有找到脚本
路径, ARG 被处理,就好像它命名了一个内置命令或函数。 然后是命令
阅读如下; 以下选项由 shell 在执行时解释
调用:
-D 不执行脚本,而是输出前面有双引号的字符串集
a $. 这些字符串用于将脚本本地化到不同的
本地。
-E 读取由 ENV 变量或 $HOME/.kshrc 如果之后没有定义
个人资料。
-c 如果 -c 选项存在,然后从第一个读取命令 ARG。 任何
剩余的参数成为位置参数,开始于 0.
-s 如果 -s 选项存在或如果没有剩余参数,则读取命令
从标准输入。 Shell 输出,除了 Special
命令 上面列出的,被写入文件描述符 2。
-i 如果 -i 选项存在或者如果 shell 输入和输出附加到
终端(如 tcgetattr(2)),那么这个shell就是 互动。在这
case TERM 被忽略(这样 杀 0 不会杀死交互式外壳)和
INTR 被捕获并忽略(因此 等待 是 )。 在所有情况下,QUIT 都会被忽略
贝壳。
-r 如果 -r 选项存在,外壳是一个受限外壳。
-D 所有以双引号开头的字符串的列表 $ 将印在
标准输出,shell 将退出。 这组字符串将受到
当语言环境不是 C 或 POSIX 时的语言翻译。 不会有任何命令
被执行。
-R 文件名
这个 -R 文件名 option 用于生成交叉引用数据库,该数据库可以
由单独的实用程序用于查找变量的定义和引用
和命令。
其余选项和参数在 集 上面的命令。 一个
可选 - 因为第一个参数被忽略。
克什 只要。
克什 用于设置登录名和执行环境,其功能更强大
控制比标准外壳的那些。 的行动 克什 与那些相同
of KSH,除了以下情况是不允许的:
取消设置受限选项。
改变目录(见 cd(1)),
设置或取消设置的值或属性 SHELL, ENV, 路径或 小路,
指定路径或命令名称包含 /,
重定向输出(>, >|, <>和 >>).
添加或删除内置命令。
运用 命令 -p 调用命令。
上述限制在执行后 。轮廓 和 ENV 文件被解释。
当发现要执行的命令是shell过程时, 克什 所调用 KSH 至
执行它。 因此,可以向最终用户提供具有
使用标准 shell 的全部功能,同时施加有限的命令菜单;
该方案假设最终用户在
同一个目录。
这些规则的最终效果是 。轮廓 完全控制
用户操作,通过执行有保证的设置操作并将用户留在
适当的目录(可能 而不去 登录目录)。
系统管理员通常会建立一个命令目录(例如, /usr/rbin) 这样可以
被安全地调用 克什.
退出 状态
shell 检测到的错误,例如语法错误,会导致 shell 返回一个非零值
退出状态。 如果 shell 以非交互方式使用,则执行 shell
除非错误发生在子外壳内,否则文件将被放弃,在这种情况下,子外壳是
弃。 否则,shell 返回最后执行的命令的退出状态(参见
还有 出口 上面的命令)。 shell 检测到的运行时错误由
打印命令或函数名称和错误条件。 如果行号
发生的错误大于 XNUMX,则行号也打印在正方形中
括号 ([]) 在命令或函数名称之后。
使用 onworks.net 服务在线使用 ksh93