格式和用法的介绍网上很多,
参数传递:
- 直接写在函数名后面
- 带空格的字符串,比如变量time=“2020-06-28 13:00:00",不能直接写 func $time,这样传递过去后,在func函数体中,time会因为空格被拆开,变成 $1是2020-06-28,$2是13:00:00。正确的方式是:func" $time
返回值:
- 数字,直接return 5 这样返回,通过 $? 这样获取
- 字符串,通过全局获取,或者类似 result=$(dir)这种形式
这里直接写一个简单的demo:
#!/bin/bash
# 返回数字
func_1(){
echo $1
echo $2
return 6
}
func_1 "1" "2"
echo "return num: "$?
# 返回字符串
func_2(){
var_str="wode"
}
func_2
echo $var_str
运行结果:
最后,记录一下时间戳转化的命令
参考:https://www.cnblogs.com/liangjichen/p/4700896.html
Linux下时间转换的一些命令:
- date +%s 可以得到UNIX的时间戳;
- 用shell将日期时间与时间戳互转:
date -d "2015-08-04 00:00:00" +%s 输出:1438617600
- 而时间戳转换为字符串可以这样做:
date -d @1438617600 "+%Y-%m-%d" 输出:2015-08-04
- 如果需要得到指定日期的前后几天:
seconds=`date -d "2015-08-04 00:00:00" +%s` #得到时间戳
seconds_new=`expr $seconds + 86400` #加上一天的秒数86400
date_new=`date -d @$seconds_new "+%Y-%m-%d"` #获得指定日前加上一天的日前