Linux Shell编程学习笔记

打算在学习过程中将每个写过的程序一个个的往上贴;

2015-07-03

1. 鸟叔第三版13.2.1节“利用日期进行文件的创建”

源代码

#!/bin/bash
PATH=/bin:/sbin:/usr/bin:/usr/sbin:/usr/local/bin:/usr/local/sbin:~/bin
export PATH
read -p "Please input your filename:" fileuser
filename=${fileuser:-"file"}

date1=$(date --date='2 days ago' +%Y%m%d)
date2=$(date --date='1 day ago' +%Y%m%d)
date3=$(date +%Y%m%d)
file1=${filename}${date1}
file2=${filename}${date2}
file3=${filename}${date3}
echo ${file1}
exit 0

============================================================================================

1.

PATH=/bin:/sbin:/usr/bin:/usr/sbin:/usr/local/bin:/usr/local/sbin:~/bin
export PATH

这两行用来为PATH增添一些路径。当输入一个命令或者文件地址时,如果输入的不是绝对地址,那么系统首先在PATH中记录的各路径中寻找;因此,这样做可以减少下面代码的复杂性(只需要写相对地址);另外,export PATH这条命令只是将原本PATH中不存在的路径添加进去,不会覆盖。

2.

filename=${fileuser:-"file"}

其中,fileuser是上一行代码中由用户输入的。这条语句的目的是防止用户直接输入ENTER。解释:

filename=${fileuser:-"file"}表示如果fileuser空,将file赋给filename,否则将fileuser赋给filename

filename=${fileuser-"file"}表示如果fileuser不为空,将file赋给filename,否则将fileuser赋给filename

3.

date1=$(date --date='2 days ago' +%Y%m%d)

这句话的意思是将两天前的日期赋给date1;其中,'2 days ago'是一个参数。

即:date –date=’1 hours ago’ “+%Y-%m-%d %H:%M:%S”表示一个小时前的时间;

 

转载于:https://www.cnblogs.com/kingatnuaa/p/4619151.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值