1. $# 表示传入参数个数,例如 ./a.sh input_file 这里 $# == 1
2. $1 表示第一个传入的参数
3. [ -f "somefile" ] 判断是否是一个文件, 猜猜 [ ! -f "somefile" ] 是?
PS:
[ -x "/bin/ls" ] 判断/bin/ls是否存在并有可执行权限
[ -n "$var" ] 判断$var变量是否有值
[ "$a" = "$b" ] 判断$a和$b是否相等
4. cat $file | grep -v '^$' > $file.1 去掉空行
grep -v '^$' 表示获得除空行以外的行 $file.1 表示临时文件
5. $? 上个命令的返回
if [ $? -ne 0 ]; then 如果上个命令返回值不为0
fi
6. if [ -z "'echo $LINE | grep -v ^$'" ]; then
continue
-z表示字符串为空,这里的含义是检查空行或者全部由空格,制表符组成的行
7. TMP=$(echo $LINE|awk '{print $1}' 去LINE字符串中空格分割后的第一个值
8. SHELL 中可以定义函数,例如:
Get_ans()
{
...
}
使用$1获得调用时后面传入的参数
9. expect ooxx.exp $IP $PORT $USER $PASSWD
使用expect脚本远程交互
参考链接:
shell编程简介(zz)
linux grep命令