内建命令.docVIP

  1. 1、本文档共5页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
内建命令 ====================== 内建命令指的就是包含在 Bash 工具集中的命令。这主要是考虑到执行效率的问题——内建命令将比外部命令的执行得更快,外部命令通常需要 fork 出一个单独的进程来执行。另外一部分原因是特定的内建命令需要直接存取 shell 内核部分。 一个内建命令通常与一个系统命令同名,但是 Bash 在内部重新实现了这些命令。比如,Bash 的 echo 命令与 /bin/echo 就不尽相同,虽然它们的行为绝大多数情况下是一样的。 关键字的意思就是保留字。对于 shell 来说关键字有特殊的含义,并且用来构建 shell 的语法结构。 比如,for,while,do和!都是关键字。与内建命令相同的是,关键字也是 Bash 的骨干部分,但是与内建命令不同的是,关键字自身并不是命令,而是一个比较大的命令结构的一部分。 I/O 类 echo 重要程度:高 打印(到stdout)一个表达式或变量。 echo 需要使用 -e 参数来打印转义字符。 一般的每个 echo 命令都会在终端上新起一行,但是 -n 选项将会阻止新起一行。 注意:echo `command` 将会删除任何有命令产生的换行符。 $IFS(内部域分隔符)一般都会将\n(换行符)包含在它的空白字符集合中。Bash 因此会根据参数中的换行来分离命令的输出。然后echo 将以空格代替换行来输出这些参数。 注意:这个命令是 shell 的一个内建命令,与 /bin/echo 不同,虽然行为相似。 printf 重要程度:中 printf 命令,格式化输出,是 echo 命令的增强。它是 C 语言 printf() 库函数的一个有限的变形,并且在语法上有些不同。 使用 printf 的最主要的应用就是格式化错误消息。 read 重要程度:高 从 stdin 中读取一个变量的值,也就是与键盘交互取得变量的值。使用 -a 参数可以取得数组。 对 read 命令来说,-n 选项将不会检测ENTER(新行)键。 read 命令的 -t 选项允许设置read的超时值。 read 命令也可以从重定向的文件中读入变量的值。如果文件中的内容超过一行,那么只有第一行被分配到这个变量中。如果 read 命令有超过一个参数,那么每个变量都会从文件中取得以定义的空白分隔的字符串作为变量的值。 文件系统类 cd 重要程度:高 cd 修改目录命令 pwd 重要程度:高 打印当前的工作目录。这将给用户(或脚本)当前的工作目录。使用这个命令的结果和从内建变量 $PWD 中读取的值是相同的。 pushd、popd、dirs 重要程度:低 这几个命令可以使得工作目录书签化,就是可以按顺序向前或向后移动工作目录。 压栈的动作可以保存工作目录列表。选项可以允许对目录栈作不同的操作。 pushd dir-name 把路径 dir-name 压入目录栈,同时修改当前目录到 dir-name。 popd 将目录栈中最上边的目录弹出,同时修改当前目录到弹出来的那个目录。 dirs 列出所有目录栈的内容(与 $DIRSTACK 便两相比较)。一个成功的 pushd 或者 popd 将会自动的调用 dirs 命令。 变量类 let 重要程度:中 let 命令将执行变量的算术操作。在许多情况下,它被看作是复杂的 expr 版本的一个简化版。 unset 重要程度:中 unset 命令用来删除一个 shell 变量,效果就是把这个变量设为 null。 export 重要程度:中 export 命令将会使得被 export 的变量在运行的脚本(或shell)的所有的子进程中都可用。 不幸的是,没有办法将变量 export 到父进程(就是调用这个脚本或 shell 的进程)中。 关于 export 命令的一个重要的使用就是用在启动文件中,启动文件是用来初始化并且设置环境变量,让用户进程可以存取环境变量。 getopts 重要程度:中 可以说这是分析传递到脚本的命令行参数的最强力工具。这个命令与 getopt 外部命令,和C语言中的库函数 getopt 的作用是相同的。它允许传递和连接多个选项到脚本中,并能分 配多个参数到脚本中。 getopts 结构通常都组成一组放在一个 while 循环中,循环过程中每次处理一个选项和参数,然后增加隐含变量 $OPTIND 的值,再进行下一次的处理。 注意: 1.通过命令行传递到脚本中的参数前边必须加上一个减号(-)。这是一个前缀,这样getopts 命令将会认为这个参数是一个选项。事实上,getopts 不会处理不带-前缀的参数,如果第一个参数就没有-,那么将结束选项的处理。 2.使用 getopts 的 while 循环模版还是与标准的while 循环模

文档评论(0)

海川电子书城 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档