注释符 “#” 开头的正文行表示注释行。 输入重定向 命令 < 文件名 here文档的重定向操作符使用<<。当前命令的标准输入来自命令行。 输出重定向 一般形式为:命令>文件名。如果>符号后边的文件已存在,那么这个文件将被重写。 追加重定向操作符>>。形式为:命令>>文件名。 错误输出也可以重新定向。使用符号2>(或追加符号2>>)表示对错误输出设备重定向。 (&>)将标准输出和错误输出同时送到同一文件中。 管道 管道可以把一系列命令连接起来,这意味着第一个命令的输出会作为第二个命令的输入通过管道传给第二个命令,第二个命令的输出又会作为第三个命令的输入,以此类推。 通过使用管道符“|” 来建立一个管道行。 命令替换: 将一个命令的输出作为另外一个命令的参数。command1 `command2` 连同标准错误输出一起送入管道:command1| &command2[|& command3...] 引号 单引号 只作为普通字符解释 双引号 除$、、’、和” 这几个字符仍是特殊字符并保留其特殊功能外,其余字符仍作为普通字符对待。 反引号(`) 反引号括起来的字符串被shell解释为命令行,在执行时,shell首先执行该命令行,并以它的标准输出结果取代整个反引号(包括两个反引号)部分。 变量 赋值: 变量名=变量值(等号两边一定不能留空格) 引用: $变量名 为了使变量名和命令名相区别,建议所有的变量名都用大写字母来表示。 常量定义:readly 常量名 此次登陆有效:export 变量名 位置参数是一种在调用shell程序的命令行中按照各自的位置决定的变量,是在程序名之后输入的参数。位置参数之间用空格分隔,shell取第一个位置参数替换程序文件中的$1…… 预定义变量: 只能使用变量,而不能重定义它。由$符和另一个符号组成的。 参数置换 变量=${参数-word}:如果设置了参数,则用参数的值置换变量的值,否则用word置换。 变量=${参数=word}:如果设置了参数,则用参数的值置换变量的值,否则把变量设置成 word然后再用word替换参数的值。 变量=${参数?word}:如果设置了参数,则用参数的值置换变量的值,否则就显示word并从 shell中退出,如果省略了word,则显示标准信息。 变量=${参数+word}:如果设置了参数,则用word置换变量,否则不进行置换。 流程控制 test 测试命令 shell用于指定条件值的不是布尔表达式而是命令和字符串。 (1 )数值测试: -eq:等于则为真 -ne:不等于则为真 -gt:大于则为真 -ge:大于等...