鸟哥的私房菜Shell cript中的一个小问题
时间:2011-06-08
来源:excellentbright
在手机上看
手机扫描阅读
在鸟哥的第三部分学习shell script中有这样一个小例子sh03.sh
#!/bin/bash
#2011/06/08 Yannis First Release
echo "I will use 'touch' command to create files" #显示信息
read -p "Please input your filename : " fileuser #提示用户输入
#为了避免用户随意按下Ecter键,利用变量功能分析文件名是否有效
filename=${fileuser:-"filename"} #开始判断是否有配置文件
#开始利用date命令来取得所需要的文件名
date1=$(date --date '2 days ago' +%Y%m%d) #前两天的日期
date2=$(date --date '1 days ago' +%Y%m%d) #前一天的日期
date3=$(date +%Y%m%d) #今天的日期
file1=${filename}${date1}
file2=${filename}${date2}
file3=${filename}${date3}
#创建文件名
touch "$file1"
touch "$file2"
touch "$file3"
本人在unbuntu下运行,无法成功,显示请尝试date --help来获取更多信息
在查看date命令之后发现date命令的参数设置应该改为 date -d ‘2 days ago’ +%Y%m%d 要注意参数之间的空格,+号和后面的显示格式并没有空格,有空个就会报错的
所以最后代码改为即可运行
#!/bin/bash
#2011/06/08 Yannis First Release
echo "I will use 'touch' command to create files" #显示信息
read -p "Please input your filename : " fileuser #提示用户输入
#为了避免用户随意按下Ecter键,利用变量功能分析文件名是否有效
filename=${fileuser:-"filename"} #开始判断是否有配置文件
#开始利用date命令来取得所需要的文件名
date1=$(date -d '2 days ago' +%Y%m%d) #前两天的日期
date2=$(date -d '1 days ago' +%Y%m%d) #前一天的日期
date3=$(date +%Y%m%d) #今天的日期
file1=${filename}${date1}
file2=${filename}${date2}
file3=${filename}${date3}
#创建文件名
touch "$file1"
touch "$file2"
touch "$file3"
相关阅读 更多
热门阅读
- office 2019专业增强版最新2021版激活秘钥/序列号/激活码推荐 附激活工具
阅读:74
- 如何安装mysql8.0
阅读:31
- Word快速设置标题样式步骤详解
阅读:28
- 20+道必知必会的Vue面试题(附答案解析)
阅读:37
- HTML如何制作表单
阅读:22
- 百词斩可以改天数吗?当然可以,4个步骤轻松修改天数!
阅读:31
- ET文件格式和XLS格式文件之间如何转化?
阅读:24
- react和vue的区别及优缺点是什么
阅读:121
- 支付宝人脸识别如何关闭?
阅读:21
- 腾讯微云怎么修改照片或视频备份路径?
阅读:28