Shell字符串初值的处理(求从1-x的和)
2020-07-26 15:44
507 查看
本案例要求编写一个脚本sumx.sh,求从1-x的和,相关要求如下:
• 从键盘读入x值
• 当用户未输入任何值时,默认按1计算
通过var:−word判断变量是否存在,决定变量的初始值。步骤一:认识字符串初值的最常见处理方法1)只取值,{var:-word}判断变量是否存在,决定变量的初始值。
步骤一:认识字符串初值的最常见处理方法
1)只取值,var:−word判断变量是否存在,决定变量的初始值。步骤一:认识字符串初值的最常见处理方法1)只取值,{var:-word}
若变量var已存在且非Null,则返回 $var 的值;否则返回字串“word”,原变量var的值不受影响。
变量值已存在的情况:
1. [root@dyy ~]# XX=11 2. [root@dyy ~]# echo $XX //查看原变量值 3. 11 4. [root@dyy ~]# echo ${XX:-123} //因XX已存在,输出变量XX的值 5. 11
变量值不存在的情况:
1. [root@dyy ~]# echo ${YY:-123} //因YY不存在,输出“123” 2. 123
编写一个验证知识点的参考示例脚本如下:
1. [root@dyy ~]# cat /root/test.sh 2. #!/bin/bash 3. read -p "请输入用户名:" user 4. [ -z $user ] && exit //如果无用户名,则脚本退出 5. read -p "请输入密码:" pass 6. pass=${pass:-123456} //如果用户没有输入密码,则默认密码为123456 7. useradd $user 8. echo "$pass" | passwd --stdin $user
步骤二:编写sumx.sh脚本,处理read输入的初值
用来从键盘读入一个正整数x,求从1到x的和;当用户未输入值(直接回车)时,为了避免执行出错,应为x赋初值1 。
1)脚本编写参考如下
1. [root@dyy ~]# vim sumx.sh 2. #!/bin/bash 3. read -p "请输入一个正整数:" x 4. x=${x:-1} 5. i=1; SUM=0 6. while [ $i -le $x ] 7. do 8. let SUM+=i 9. let i++ 10. done 11. echo "从1到$x的总和是:$SUM" 12. 13. [root@dyy ~]# chmod +x sumx.sh
2)验证、测试脚本执行效果:
1. [root@dyy ~]# ./sumx.sh 2. 请输入一个正整数:25 //输入25,正常读入并计算、输出结果 3. 从1到25的总和是:325 4. [root@dyy ~]# ./sumx.sh 5. 请输入一个正整数:70 //输入70,正常读入并计算、输出结果 6. 从1到70的总和是:2485 7. [root@dyy ~]# ./sumx.sh 8. 请输入一个正整数: //直接回车,设x=1后计算、输出结果 9. 从1到1的总和是:1
相关文章推荐
- shell编程之 认识字符串初值的最常见处理方法
- Shell的字符串处理
- shell字符串处理
- shell脚本处理字符串常用方法
- shell 字符串长度处理
- Linux脚本shell字符串处理,基本都有了,看着搜吧
- shell浅谈之字符串和文件处理
- Shell正则表达式 & Grep正则表达式 & shell字符串处理(转)
- Shell 字符串处理、获取文件名和后缀名
- shell 字符串处理
- shell的字符串和数字的转化(数字自动做字符串处理,变量名做字符串输出用单引号)
- shell字符串处理-数组-expect
- 字符串的初值,正则表达式,sed的基本用法,sed文字块处理
- shell 字符串处理的三个技巧
- (BA) SHELL 处理处理字符串的小结
- shell 字符串处理汇总(查找,替换等等)
- shell(1):shell基础及函数,字符串,if,while,时间处理等应用
- SHELL字符串处理技巧(${}、##、%%)
- shell 字符串处理
- Shell 逐行读取文本中的字符串 处理 并打印到新的文本中