- 变量:
('')单引号:作用同上,但是可以标记""所不能的特殊符号
(``)反引号[!前的那个符号,不是单引号]一般用来执行命令
(\)反斜杠:转义符号,用于标记单个特殊符号.
试试如下代码:
#!/bin/bash name="lei" notice="$name a gril making youselves up" echo $notice notice="\$name a gril making youselves up" echo $notice name="lei " notice="${name}a gril making youselves up" echo $notice notice='${name}a gril making youselves up' echo $notice list=`ls -l variable.sh` echo $list |
- 字符:
空格(space): 解析命令行参数
(*)(?)({and}):产生文件名列表
(.): 代表当前目录
($): 对变量求值
(>)(< ): 重定向标准输入或输出
(&): 执行后台命令
(|): 管道输出
- 一般命令:
echo 显示变量及字符
read 从用户处接受输入
< < 输入重定向
- 脚本命令相关:
$0 Linux命令名
$n 命令行参数
$* 由号码1开始的所有的命令行参数
$@ 分别访问命令行参数
$# 命令参数的个数
- 运算:
exprort 将局部变量导出为该shell中的全局变量
,-,*,/,>,< ,>=,< =,=(用于字符串的比较),==(用于数字的比较),!=,&(与),|(或),!(非).
test比较运算,
在比较运算中,正确结果的返回值是0,而不是传统程序上的1
-gt 一个数是否大于另一个数
-lt 小于
-ge 大于等于
-le 小于等于
-eq 等于(用于数值)
-ne 不等于
-z 是否为空字符串
-n 字符串是否大于0
= 字符串是否相等
!= 是否不等
str 是否非空
-a 与
-o 或
! 非
-f 是否为普通文件
-s 文件是否为空
-r 文件是否可读
-w 文件是否可写
-x 文件是否可执行
-d 是否为目录
-h 是否为符号链接
-c 是否与字符设备相关联
-b 是否与块文件相关联
[]符号和test的作用等同
如 : [ $num -lt 10 ] 正确
[$num -lt 10] 错误
注意使用 [] 时 两边要有空格 如: