项目
项目1
- 自动产生当天的文件夹,提供每天写代码使用
- 判断有几个参数
- xx.sh
- xx.sh -y
- xx.sh -y -m
- xx.sh -y -m -d
在用户主目录下创键年份的文件夹并读取当年年份
自动生成当前年份文件夹:判断是否已存在;
如果存在 提示已存在,如果不存在,创建
- 再读取当前月份:在2016文件夹下创建10月,自动生成当前月份文件夹:判断是否已存在,如果存在,提示已存在,如果不存在,提示创建
- 再读取当前号:在~/2016/10/下面创建号的文件夹:判断是否已经存在,如果存在,提示已经存在,如果不存在,创建,最后创建成功
file=`date +%Y/%m%d`
echo "${file}"
- 万年历
- 输入查询年份2016,再输入查询月份9
- 1990.1.1星期一
- 查询范围1990.1.1之后查询
- 闰年判断条件(year%4==0&&year%100!=0)||(year%400==0)
- 思路:计算1990.1.1~2016.8.31所有的天数
十月 2016
日 一 二 三 四 五 六
1
2345678
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31
$1 $2用法
- 输出万年历
- 判断当年是否为闰年
- 如果是闰年,2月输出为29天
- 再求出当年前一年12月31号为星期几
- 然后打引当年1月份的日历,
test()
{
echo "$0"
echo "$1"
echo "$2"
}
test 1 2
- 函数里的$0与函数外的$0一样,表示shell本身 xx.sh.函数里的$1表示test调用时的第一个参数如上为1,函数里的$2,在test调时的第二个参如上为2
callwhat()
{
year=$1
month=$2
}if [ $1 -eq 0 ]
then
argument1=` date +%Y`
argument2=` date +%m%d`
callwhat "${argument1}" "${argument2}"
elif [ $1 -eq 2 ]
then
argument1=$1
argument2=$2
callwhat "${argumet1}" "${argument2}"
else
echo "参数太多"
fi
- 注意点:
- callwhat里面的$1,$2表示调用callwhat时的第一个参数argument1,和第二个参数argument2;另外:argument1=$1 表示的是运行 ** ./xx.sh 2016 3** $1为外面的2016,$2为外面的3。此时的$1和$2与函数里的$1和$2代表的内容不同。这样再把argument1=$1里面的2016存到函数里的year里,argument2=$2里面的3存到month里。