shell脚本编程之for语句、if语句使用介绍

LUSH中文网

栏目分类
LUSH中文网
Algorand中文网
你的位置:LUSH中文网 > Algorand中文网 > shell脚本编程之for语句、if语句使用介绍
shell脚本编程之for语句、if语句使用介绍
发布日期:2025-01-04 11:41    点击次数:70
上部: 面向过程:顺序执行选择执行: if, case循环执行: for, while, until 一、for语句   格式:     for 变量 in 列表;do        语句1;        语句2;        ...     done    例1、写一个脚本,添加10个用户,并让每个用户的密码同用户名】   例2、写一个脚本,分别显示 /tmp/1.dir /tmp/2.dir /tmp/3.dir三个文件的时间戳,并将这三个文件被修改的时间改为201003030303.03 bash的变量类型:    本地变量    局部变量    环境变量    位置变量 :$1、$2、$3、$4....    特殊变量:        $?: 用于保存刚刚执行的命令的状态返回值;0:成功执行;1-255:失败,1,2,127可以使用exit命令在脚本中自定义脚本执行状态返回值;如果不定义,脚本执行状态返 回值取决于脚本执行结束前最后执行的那个语句的状态;        $@, $*: 所有位置参数;       $#: 位置参数的个数;       $0: 脚本名称 二、if语句 1、单分支if语句:      格式:          if 条件; then语句1语句2  ...           fi     例3、写一个脚本,实现如下功能: 如果用户存在,就说明其存在;     例4、写一个脚本,实现如下功能:如果设备/dev/sda3已经挂载,就显示其挂载点; 例5、写一个脚本,实现如下功能: 如果/etc/rc.d/rc.sysinit中有空白行,就显示其空白行数; 2、双分支if语句:   格式:   if 条件; then 语句1 语句2 ...else 语句1 语句2 ...fi    例6、写一个脚本,实现如下功能:      如果设备/dev/sda3已经挂载,就显示其挂载点;否则,就说明其未挂载或设备不存在; 3、多分支if语句:    格式:    if 条件1; then 语句1 语句2 ...elif 条件2; then 语句1 语句2 ...elif 条件3; then 语句1 语句2 ...else 语句1 语句2 ...fi   例7、写一个脚本:      判断当前主机的CPU生产商,其信息在/proc/cpuinfo文件中vendor id一行中。      如果其生产商为GenuineIntel,就显示其为Intel公司;      如果其生产商为AuthenticAMD,就显示其为AMD公司;     否则,就显示无法识别; 下部:一、bash条件测试:     整数测试   [ expression ]     字符测试     [[ expression ]]     条件测试     test expression   test 根据表达式求值的结果返回 0(真)或 1(假)1、整数测试:数值比较         -gt   大于         -ge   大于或等于         -eq   等于         -lt   小于         -le   小于或等于         -ne    不等于 例1:写一个脚本,生成两个随机数,比较其大小;显示大数; bash有个内置变量:$RANDOM 例2:写一脚本,随机生成一个整数,判定,显示其奇偶性; 例3、写一个脚本: 计算100以内所有奇数的和以及所有偶数的和;分别显示之; 例4、计算N以内所有奇数的和以及所有偶数的和;分别显示之;N是通过参数传递过来的正整数; 例5、写一个脚本,完成以下要求:      1、添加10个用户user1, user2, ..., user10;但要先判断用户是否存在,不存在而后再添加;     2、添加完成后,显示一共添加了几个用户;当然,不能包括因为事先存在而没有添加的;     3、最后显示当前系统上共有多少个用户; 2、bash字符测试:       >: 大于       <: 小于      ==: 等于      =~: 判断左边的字符串是否能够被右边的模式所匹配;通常用于[[]];         [[ $opt1 =~ $opt2 ]]一般做行首、行尾锚定;不要加引号 单目:     -z $STRING: 为空则为真,不空则为假;     -n $STRING: 为空则为假,不空则真; 例6、写一个脚本,判定用户的shell是否为bash; 例7、根据用户shell的结束符是否为sh来判定其是否为登录用户: 二、bash测试之文件测试:     操作符 文件路径       -f: 测试其是否为普通文件,即ls -l时文件类型为-的文件;       -d: 测试其是否为目录文件,即ls -l时文件类型为d的文件;       -e: 测试文件是否存在;存在为真,否则为假;       -r: 测试文件对当前用户来说是否可读;        -w: 测试文件对当前用户来说是否可写;       -x: 测试文件对当前用户来说是否可执行;       -s: 测试文件大小是否不空,不空则真,空则假;短路操作:只要前半段已经可以决定最终结果,后半段就不再运算; 与运算:   真 && 真 =  真   真 && 假 =  假   假 && {真|假} = 假  或运算:   假

上一篇:“网”聚美好 “数”联未来——解读浙江迈向高质量发展的“互联网基因”
下一篇:热点推荐:你确定你真的懂用户画像?