shell脚本项目

项目

项目1

  • 自动产生当天的文件夹,提供每天写代码使用
  1. 判断有几个参数
  • xx.sh
  • xx.sh -y
  • xx.sh -y -m
  • xx.sh -y -m -d
    在用户主目录下创键年份的文件夹并读取当年年份
    自动生成当前年份文件夹:判断是否已存在;
    如果存在 提示已存在,如果不存在,创建
  1. 再读取当前月份:在2016文件夹下创建10月,自动生成当前月份文件夹:判断是否已存在,如果存在,提示已存在,如果不存在,提示创建
  2. 再读取当前号:在~/2016/10/下面创建号的文件夹:判断是否已经存在,如果存在,提示已经存在,如果不存在,创建,最后创建成功
file=`date +%Y/%m%d`
echo "${file}"
  1. 万年历
  • 输入查询年份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
 2  3  4  5  6  7  8
 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天
  3. 再求出当年前一年12月31号为星期几
  4. 然后打引当年1月份的日历,

$1 $2用法

test()
{
   echo "$0"
   echo "$1"
   echo "$2"
}
test 1 2

  1. 函数里的$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

  • 注意点
  1. 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里。
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 0.linux启动的步骤 设备加电----》BIOS自检-----》grub引导启动-----》加载内核----》...
    萌面大叔2阅读 813评论 0 1
  • shell脚本语句 运算符符 运算符的使用+ - * /1. expr是计算整数类型行的数据2. 运算符左右都要有...
    I踏雪寻梅阅读 371评论 0 2
  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 135,269评论 19 139
  • 1.创建文件夹 !/bin/sh mkdir -m 777 "%%1" 2.创建文件 !/bin/sh touch...
    BigJeffWang阅读 10,267评论 3 53
  • 1.在情景中练习 创造共同的学习氛围;榜样作用;多情景运用。 2.走出舒适区 3.保持动力
    夜莺Christy阅读 70评论 0 0