连载shell(一): 交互式脚本,随日期变化,数值运算
2016-05-29 19:04
537 查看
1.交互式脚本:变量内容由用户决定
需求:
用户输入first name 与last name ,最后在屏幕显示“Your full name is: ”的内容。
2.随日期变化:利用日期进行文件的创建
需求:
假设我需要创建三个空文件(通过touch),文件最开头由用户输入决定,假设用户输入filename好了,且今天日期为20160529,我想要以前天、昨天、今天的日期来创建这些文件,即filename_20160527, filename_20160528,filename_20160529。
3.数值运算:简单的加减乘除
需求:
用户输入两个变量,然后将两个变量相乘输出。
注:变量只能定义为整数时,才能进行运算。有两种方式:其一,声明declare,“declare -i total=$firstnu*$secnu”;其二,利用“$((计算式))”进行数值运算,如下。
需求:
用户输入first name 与last name ,最后在屏幕显示“Your full name is: ”的内容。
debian@debian-pc:~/scripts$ vim sh02.sh #!/bin/bash read -p "Please input your first name: " firstname #提示用户输入 read -p "Please input your last name: " lastname #提示用户输入 echo -e "\nYour full name is: $firstname $lastname" #结果由屏幕输出
debian@debian-pc:~/scripts$ sudo chmod a+x sh02.sh debian@debian-pc:~/scripts$ ./sh02.sh Please input your first name: mumu Please input your last name: xizi Your full name is: mumu xizi
2.随日期变化:利用日期进行文件的创建
需求:
假设我需要创建三个空文件(通过touch),文件最开头由用户输入决定,假设用户输入filename好了,且今天日期为20160529,我想要以前天、昨天、今天的日期来创建这些文件,即filename_20160527, filename_20160528,filename_20160529。
1 #!/bin/bash 2 # Program: 3 # Program creates three files, which named by user's input and date command. 8 9 #1.让用户输入文件名,并取得fileuser这个变量: 10 echo -e "I will use 'touch' command to creates 3 files." #纯粹显示信息 11 read -p "Please input your filename: " fileuser #提示用户输入 12 13 #2.为了避免用户随意按【Enter】,利用变量功能分析文件名是否有设置: 14 filename=${fileuser:-"filename"} #开始判断有否配置文件名 15 16 #3.开始利用date命令取得所需的文件名了 17 date1=$(date --date='2 days ago' +%Y%m%d) #前两天的日期 18 date2=$(date --date='1 days ago' +%Y%m%d) #前一天的日期 19 date3=$(date +%Y%m%d) #今天的日期 20 file1=${filename}${date1} 21 file2=${filename}${date2} 22 file3=${filename}${date3} 23 24 #4.创建文件名: 25 touch "$file1" 26 touch "$file2" 27 touch "$file3"
debian@debian-pc:~/scripts$ sudo chmod a+x sh03.sh [sudo] debian 的密码: ************************************************** debian@debian-pc:~/scripts$ ./sh03.sh I will use 'touch' command to creates 3 files. Please input your filename: #不输入任何字符,结果如下: debian@debian-pc:~/scripts$ ls filename20160527 filename20160528 filename20160529 sh03.sh ************************************************** debian@debian-pc:~/scripts$ ./sh03.sh I will use 'touch' command to creates 3 files. Please input your filename: cherry #输入cherry,结果如下: debian@debian-pc:~/scripts$ ls cherry20160527 cherry20160529 cherry20160528 sh03.sh filename20160528 filename20160527 filename20160529
3.数值运算:简单的加减乘除
需求:
用户输入两个变量,然后将两个变量相乘输出。
注:变量只能定义为整数时,才能进行运算。有两种方式:其一,声明declare,“declare -i total=$firstnu*$secnu”;其二,利用“$((计算式))”进行数值运算,如下。
1 #!/bin/bash 2 # Program 3 User input 2 integer numbers; program will cross these two numbers. 8 9 echo -e "You SHOULD input 2 numbers, I will cross them! \n" 10 read -p "first number: " firstnu 11 read -p "second number: " secnu 12 total=$(($firstnu*secnu)) 13 echo -e "\nThe result of $firstnu x $secnu is ==> $total"
debian@debian-pc:~/scripts$ sudo chmod a+x sh04.sh debian@debian-pc:~/scripts$ ./sh04.sh You SHOULD input 2 numbers, I will cross them! first number: 5 second number: 6 The result of 5 x 6 is ==> 30
相关文章推荐
- android wifi 无线调试
- 运维入门
- 动态清空 nohup 输出文件
- install scrapy with pip and easy_install
- Linux Shell常用技巧
- Shell 脚本编程陷阱
- VBS脚本写的Windows硬件检测工具分享
- 用vbscript实现隐藏任务栏图标的脚本
- 用autoit编写第一个脚本(Hello World)
- VBS调用WMI快速关闭IE的脚本
- Oracle数据库执行脚本常用命令小结
- 收集的ROS防火墙脚本
- JSP脚本漏洞面面观
- shell字符串操作详解
- 不错的批处理脚本 第一部分
- VBS脚本加密/解密VBS脚本(简易免杀版1.1)
- 不错的批处理脚本实例代码 第二部分
- 使用脚本和批处理清除电脑中的痕迹的代码第1/2页