脚本的命令要用绝对路径
参数赋值是参数与等于号之间不能有空格
引用
单小括号 ()
①命令组。括号中的命令将会新开一个子shell顺序执行,所以括号中的变量不能够被脚本余下的部分使用。括号中多个命令之间用分号隔开,最后一个命令可以没有分号,各命令和括号之间不必有空格。
②命令替换。等同于cmd
,shell扫描一遍命令行,发现了(cmd)结构,便将(cmd)中的cmd执行一次,得到其标准输出,再将此输出放到原来命令。有些shell不支持,如tcsh。
③用于初始化数组。如:array=(a b c d)。
{} 命令组,不创建子SHELL
’ ’ 保护所有的元字符不被解析,想打印’,必须放在双引号内,或者使用/转义
” ” 只允许变量和命令替换,保护其余的元字符不被解析
的取值位置变量,特殊变量? 返回0 上一条命令执行成功 其他执行失败。
expr 算术运算 符号建要有空格 乘号要用转义符 *
test 测试变量 一般作为if语句的测试条件 可用[] 进行简化
例如: test -d 1等于[−d1]
-n 不为空
-z 为空
-d file 文件是否目录