SHELL脚本-第四课

回顾

  1. 基本的变量替换,其一直接用命令替换,其二使用$(...)方式进行替换;
  2. 基本的赋值;
  3. 在Bash脚本里,变量没有规定属于哪种类型,只是根据赋值直接决定数据类型;
  4. 介绍了一些特殊的变量类型,如局部变量、环境变量以及位置变量。

引用

  1. 引用变量
    引用意味着保护在引号中的字符串。引用在保护被引起字符串中的特殊字符被shell或shell脚本解释或扩展。(如果一个字符能被特殊解释为不同于它字面上表示的意思,那么这个字符是“特殊”的,比如说通配符-- *)。

  2. 转义
    转义是引用单字符的方法。在单个字符前面的转义符\告诉shell不必特殊解释这个字符,只把它当成字面上的意思。例如:

    1. \n:表示新行;
    2. \r:表示回车;
    3. \t:表示水平的制表符;
    4. \v:表示垂直的制表符;
    5. \b:表示后退符;
    6. \a:表示“警告”(蜂鸣或是闪动);
    7. \0xx:翻译成ASCII码为八进制0xx所表示的字符;
    8. \":表示引号"的字面意思;
    9. \$:表示美元符;
    10. \\:表示反斜杠。

退出和退出状态

exit命令一般用于结束一个脚本,就像C语言的exit一样。它也能返回一个值给父进程。

每一个命令都能返回一个退出状态(有时也看做返回状态)。一个命令执行成功返回0,一个执行不成功的命令则返回一个非零值,此值通常可以被解释成一个对应的错误值。除了一些例外的情况,一个行为端庄的UNIX命令,程序或是软件包执行成功能返回0的作为退出码。

同样的,在脚本里的函数和脚本自身都会返回一个退出状态码。在脚本或函数里被执行的最后一个命令将决定退出状态码。在一个脚本里,exit nnn 命令将会返回shell一个nnn的退出状态码。(nnn必须是一个在0-255范围的十进制整数)。

$?变量保存了最后一个命令执行后的退出状态。当一个函数返回时,$?保存了函数里最后一个命令的退出状态码。这就是Bash里函数返回值的处理办法。当一个脚本运行结束,$? 变量保存脚本的退出状态,而脚本的退出状态则是脚本中最后一个已执行命令的退出状态。并且依照惯例,0表示执行成功,1-255的整数范围表示错误。

参考资料

发布了15 篇原创文章 · 获赞 0 · 访问量 342

猜你喜欢

转载自blog.csdn.net/u011228324/article/details/103918751