read
-
p "Please input your last name: " lastname
#
提示使用者
echo
-
e "
\
nYour full name is: ${firstname} ${lastname}"
#
½
果由屏幕
½上面这个
showname.sh
执行一下,你就能够发现用户自己输入的变量可以让程序所取用,并且½
他显示到屏幕上!
½下来,如果想要制作一个每次执行都会依据不同的日期而变化½果的½本呢?
.
随日期变化:利用
date
½行
文件
的½立
想象一个状况,假设我的服务器内有数据库,数据库每天的数据都不太一样,因此当我备份时,希望
½每天的资料都备份成不同的档名,
这样才能够让旧的数据也能够保存下来不被覆盖。哇!不同檔
名呢!这真困扰啊?难道要我每天去修改
script
不需要啊!考虑每天的『日期』并不相同,所以我可以½档名取成类似:
backup.2015-07-16.data
不就可以每天一个不同档名了吗?呵呵!确实如此。那个
2015-07-16
怎么来的?那就是重点啦!½
下来出个相关的例子:
假设我想要½立三个空的文件
(
透过
touch
)
,档名最开头由使用者输入决定,
假设使用者输入
filename
好了,那½天的日期是
2015/07/16
我想要以前天、昨天、½天的日期
来½立这些文件,亦即
filename_20150714, filename_20150715, filename_20150716
,该如何是好?
[dmtsai@study bin]$
vim create_3_filename.sh
#!/bin/bash
# Program:
#
Program creates three files, which named by user's input and date command.
# History:
# 2015/07/16
VBird
First release
PATH=/bin:/sbin:/usr/bin:/usr/sbin:/usr/local/bin:/usr/local/sbin:~/bin
export PATH
# 1.
使用者
入文件名,并取得
fileuser
这个变
量;
echo
-
e "I will use 'touch' command to create 3 files."
#
示信息
read
-
p "Please input your filename: " fileuser
#
提示使用者
# 2.
了避免使用者
意按
Enter
,利用
量功能
分析
名是否有
定?
filename=${fileuser:
-
"filename"}
#
始判
有否配置文件名
# 3.
始利用
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}
# 4.
½档
名½立吧!
touch "${file1}"
#
底下三行在½立
文件