1 判断字符串是否相等,
if [空格$x空格=空格$y空格]; then
fi
注意,=左右的空格必不可少
2 判断整数是否相等,用-eq,不相等用-ne
3 ``跟$()都是执行shell命令的意思
4 日期函数
$(date +'%Y-%m-%d %H:%M:%S')
用+指定格式,注意,+与后面的字符串之间不能有空格
用-d指定时间运算,比如往前一天
$(date -d '-1 day')
一般-d都要结合 +使用,要指定返回格式的
$(date -d 'yesterday')
5 mysql 执行select返回结果如何获取?
将命令放在$()中执行,然后返回结果赋给一个变量
如果查询了多列的话,这个变量将会是一个字符串,打印出来会看到依次是所有字段名所有字段值,中间用空格分割
如果不需要字段名,可以在执行mysql命令时,加上参数--skip-column-names
比如:
result=$(mysql -h ${host} -P ${port} -u ${user} -p --default-character-set=utf8 --skip-column-names -e "select x,y,z from tablename")
现在result是由空格分割的字段值组成的字符串
将它转成数组,可以方便的 使用
转数组:arr=($result)
取数组值:${arr[0]},${arr[1]}
6 字符串截取
${字符串:开始坐标从0开始:要截取的长度}
7 时间戳转换
时间转时间戳:
stamp=$(date -d "$时间" +%s)
时间戳转时间:
date=$(date -d "@$时间戳" +''%Y%m%d %H:%M:%S')
8 字符串拼接:
直接变量后边加"要拼接的内容"
例如$x"字符串"
中间不需要加号
9 如果mysql命令成功执行,返回的是0,
如果是自己的命令,失败原因不明确的可以用exit 2退出
10 在mysql语句用<< EOF EOF包围时,对于字符串变量,应该用双引号包一下,例如"$字符串变量",不能用单引号
11 想要看mysql具体是什么语句在执行,可以用cat << EOF EOF来包含SQL语句,这样执行shell脚本就会打印出来真正被执行的sql
12 数值运算,加减乘除,要写在$(())中,否则会被当成字符串
if [空格$x空格=空格$y空格]; then
fi
注意,=左右的空格必不可少
2 判断整数是否相等,用-eq,不相等用-ne
3 ``跟$()都是执行shell命令的意思
4 日期函数
$(date +'%Y-%m-%d %H:%M:%S')
用+指定格式,注意,+与后面的字符串之间不能有空格
用-d指定时间运算,比如往前一天
$(date -d '-1 day')
一般-d都要结合 +使用,要指定返回格式的
$(date -d 'yesterday')
5 mysql 执行select返回结果如何获取?
将命令放在$()中执行,然后返回结果赋给一个变量
如果查询了多列的话,这个变量将会是一个字符串,打印出来会看到依次是所有字段名所有字段值,中间用空格分割
如果不需要字段名,可以在执行mysql命令时,加上参数--skip-column-names
比如:
result=$(mysql -h ${host} -P ${port} -u ${user} -p --default-character-set=utf8 --skip-column-names -e "select x,y,z from tablename")
现在result是由空格分割的字段值组成的字符串
将它转成数组,可以方便的 使用
转数组:arr=($result)
取数组值:${arr[0]},${arr[1]}
6 字符串截取
${字符串:开始坐标从0开始:要截取的长度}
7 时间戳转换
时间转时间戳:
stamp=$(date -d "$时间" +%s)
时间戳转时间:
date=$(date -d "@$时间戳" +''%Y%m%d %H:%M:%S')
8 字符串拼接:
直接变量后边加"要拼接的内容"
例如$x"字符串"
中间不需要加号
9 如果mysql命令成功执行,返回的是0,
如果是自己的命令,失败原因不明确的可以用exit 2退出
10 在mysql语句用<< EOF EOF包围时,对于字符串变量,应该用双引号包一下,例如"$字符串变量",不能用单引号
11 想要看mysql具体是什么语句在执行,可以用cat << EOF EOF来包含SQL语句,这样执行shell脚本就会打印出来真正被执行的sql
12 数值运算,加减乘除,要写在$(())中,否则会被当成字符串