数组:存储多个元素,数据类型可以不同,元素元素之间以空格切分
操作
通过下标获取数据
格式:
${数组[下标]}
注意:
直接引用数组变量,默认获取下标为0的元素
下标使用*表示获取所有
${数组[*]}
获取长度:
格式:
${#数组[*]}
修改:
数组[下标]=用来替换的数
read:键盘录入
格式:
read 变量1 变量2 ...变量n
注意:
键盘录入时,允许给多个变量进行赋值,值和值之间以空格切分
打印三角形
for i in {1..5}
do
for j in `seq 1 ${i}`
do
echo -n "* "
done
echo ""
done
函数
格式:
function 方法名(){
方法体
return 数字;
}
注意:function和return可加可不加
如果有返回值就返回,如果没有返回方法最后的执行状态
0 表示没有任何问题的执行结束
255 表示报错
$0...$n表示接收参数,$0永远是脚本名称(忽略)
方法的调用直接使用方法名不加()
return只能返回数字范围在0-255之间
$?接收返回值只能接收一次
获取当前日期时间
ate +"%Y-%m-%d %H:%M:%S"
格式化日期时间:
date -d today +"%Y-%m-%d %H:%M:%S"
加减日期时间
date +%Y%m%d //显示前天年月日
date +%Y%m%d --date="+1 day" //显示后一天的日期
date +%Y%m%d --date="-1 day" //显示前一天的日期
date +%Y%m%d --date="-1 month" //显示上一月的日期
date +%Y%m%d --date="+1 month" //显示下一月的日期
date +%Y%m%d --date="-1 year" //显示前一年的日期
date +%Y%m%d --date="+1 year" //显示下一年的日期
重定向:执行命令的结果写写入到文件
标准输入文件(stdin):stdin的文件描述符为0,默认从stdin读取数据。
标准输出文件(stdout):stdout 的文件描述符为1,默认向stdout输出数据。
标准错误文件(stderr):stderr的文件描述符为2,向stderr流中写入错误信息。
使用>,>>默认是把正确信息写入文件
想要把错误信息和正确信息写入文件需要后面追加2>&1(把错误信息当做正确信息去处理)
定时器:
格式:
*(分钟) *(小时) *(星期) *(几号) *(月份) commend
通过crontab -e添加定时任务
查看定时任务是否执行了,看日志tail -f /var/log/cron
注意:
定时器或脚本中涉及到路劲的全部给绝对路劲
* * * * * 每分钟
*/1 * * * * 每分钟
0 */1 * * * 每小时