Bash_shell简单语法总结.docVIP

  • 2
  • 0
  • 约3.93千字
  • 约 8页
  • 2016-12-29 发布于重庆
  • 举报
注释符“#”开头的正文行表示注释行输入重定向命令 文件名here文档的重定向操作符使用。当前命令的标准输入来自命令行。输出重定向一般形式为:命令文件名。如果符号后边的文件已存在,那么这个文件将被重写。追加重定向操作符。形式为:命令文件名。错误输出也可以重新定向。使用符号2(或追加符号2)表示对错误输出设备重定向。()将标准输出和错误输出同时送到同一文件中。管道管道可以把一系列命令连接起来,这意味着第一个命令的输出会作为第二个命令的输入通过管道传给第二个命令,第二个命令的输出又会作为第三个命令的输入,以此类推。通过使用管道符“|”来建立一个管道行。命令替换 将一个命令的输出作为另外一个命令的参数。command1 `command2`command1| command2[| command3...] 引号 单引号 只作为普通字符解释双引号除$、、’、和”这几个字符仍是特殊字符并保留其特殊功能外,其余字符仍作为普通字符对待。反引号(`)反引号括起来的字符串被shell解释为命令行,在执行时,shell首先执行该命令行,并以它的标准输出结果取代整个反引号(包括两个反引号)部分。…… 预定义变量: 只能使用变量,而不能重定义它。由$符和另一个符号组成的。 参数置换 变量=${参数-word}:如果设置了参数,则用参数的值置换变量的值,否则用word置换。 变量=${参数=word}:如果设置了参数,则用参数的值置换变量的值,否则把变量设置成word然后再用word替换参数的值。 变量=${参数?word}:如果设置了参数,则用参数的值置换变量的值,否则就显示word并从shell中退出,如果省略了word,则显示标准信息。 变量=${参数+word}:如果设置了参数,则用word置换变量,否则不进行置换。 流程控制 test测试命令 shell用于指定条件值的不是布尔表达式而是命令和字符串。 (1)数值测试: -eq:等于则为真 -ne:不等于则为真 -gt:大于则为真 -ge:大于等于则为真 -lt:小于则为真 -le:小于等于则为真 (2)字符串测试: =:等于则为真 !=:不相等则为真 -z 字符串:字符串长度伪则为真 -n 字符串:字符串长度不伪则为真 (3)文件测试: -e 文件名:如果文件存在则为真 -r 文件名:如果文件存在且可读则为真 -w 文件名:如果文件存在且可写则为真 -x 文件名:如果文件存在且可执行则为真 -s 文件名:如果文件存在且至少有一个字符则为真 -d 文件名:如果文件存在且为目录则为真 -f 文件名:如果文件存在且为普通文件则为真 -c 文件名:如果文件存在且为字符型特殊文件则为真 -b 文件名:如果文件存在且为块特殊文件则为真 (4)逻辑操作符 Linux还提供了与(“!”)、或(“-o)、非(“-a”)三个逻辑操作符用于将测试条件连接起来,其优先级为:“!”最高,“-a”次之,“-o”最低。 算术运算 格式如下:$[expression] if条件语句 if 条件命令串 then 条件为真时的命令串 else 条件为假时的命令串 fi for 循环 for 变量名 [in 数值列表] do 若干个命令行 done while和until 循环 while 若干个命令行1 do 若干个命令行2 done 只要while的“若干个命令行1”中最后一个命令的返回状态为真,while循环就继续执行do...done之间的“若干个命令行2”。 until 若干个命令行1 do 若干个命令行2 done until循环和while循环的区别在于:while循环在条件为真时继续执行循环,而until则是在条件为假时继续执行循环。 case 条件选择 case string in exp-1) 若干个命令行1 ;; exp-2) 若干个命令行2 ;; …… *) 其他命令行 esac shell通过计算字符串string的值,将其结果依次和表达式exp-1、exp-2等进行比较,直到找到一个匹配的表达式为止,如果找到了匹配项则执行它下面的命令直到遇到一对分号(;;)为止。 在case表达式中也可以使用shell的通配符(“*”、“?”、“[ ]”)。通常用“*”作为case命令的最后表达式以便使在前面找不到任何相应的匹配项时执行“其他命令行”的命令。 无条件控制语句break和continue 函数定义 格式为: functionname { 若干命令行 } 调用函数的格式为: functionname param1 param2 …… shell函数可以有自己的退出状态,在函数定义时

文档评论(0)

1亿VIP精品文档

相关文档