shell编程流程控制练习

网友投稿 555 2022-09-02

shell编程流程控制练习

shell编程流程控制练习

1、编写脚本 createuser.sh,实现如下功能:使用一个用户名做为参数,如果指定参数的用户存在,就 显示其存在,否则添加之。并设置初始密码为123456,显示添加的用户的id号等信息,在此新用户第一 次登录时,会提示用户立即改密码,如果没有参数,就提示:请输入用户名

#!/bin/bashread -p "请输入用户名:" USER_NAMEif [ -n "$USER_NAME" ] ; then #判断用户名变量是否为空,如果不为空才执行下方嵌套if if useradd $USER_NAME &>/dev/null ; then #判断执行useradd命令是否成功,成功后继续执行密码相关 echo "$USER_NAME:123456" | chpasswd;passwd -e $USER_NAME;id $USER_NAME else #useradd执行失败,则表示用户名存在 echo "$USER_NAME 已存在" fielse #变量为空 echo "请输入正确用户名" fi 优化点:对用户名的可以做一次正则匹配,再嵌套一次if语句 [[ ]]

2、编写脚本 filetype.sh,判断用户输入文件路径,显示其文件类型(普通,目录,链接,其它文件类型)

#!/bin/bashread -p "请输入文件路径:" FILEPATHif [ -e "$FILEPATH" ] ; then if [ -f "$FILEPATH" ] ; then echo "$FILEPATH normal" elif [ -d "$FILEPATH" ] ; then echo "$FILEPATH directory" elif [ -h "$FILEPATH" ] ; then echo "$FILEPATH link" else echo "$FILEPATH other" fielse echo "请输入正确文件" fi待优化点 -h判断链接文件失效,/bin是链接文件判断为目录文件,可以在 [ -d ]再加一层使用 fiel命令的if判断#优化版本(使用ls去判断,不能使用ll,因为ll是别名,脚本中不能使用别名)read -p "请输入文件路径:" FILEPATHif [ -e "$FILEPATH" ] ; then FILETYPE=`ls -ld $FILEPATH | cut -b 1` case $FILETYPE in "-") echo "$FILEPATH is normal" ;; "d") echo "$FILEPATH is directory" ;; "l") echo "$FILEPATH is link" ;; *) echo "$FILEPATH is other" ;; esacelse echo "请输入正确文件" fi

3、编写脚本 ​​reset.sh​​,实现系统安装后的初始化环境,包括:1、别名 2、环境变量,如PS1等 3、安装常用软件包,如:tree5、实现固定的IP的设置,6、vim的设置等

#!/bin/bashecho -e "\E[1;31m\1、别名2、环境变量3、安装常用软件4、实现固定ip5、vim设置\e[0m" read -p "请选择(1,2,3,4,5):" CHOICEcase $CHOICE in 1) echo "执行 .\alise.sh" ;; 2) echo ".\ENV.sh" ;; 3) echo ".\YUM.sh" ;; 4) echo ".\IP.sh" ;; 5) echo ".\VIM.sh" ;; *) echo "请输入正确选项" ;;esac

版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:一位女孩
下一篇:php如何实现微信小程序支付及退款(小程序付款怎么退款)
相关文章

 发表评论

暂时没有评论,来抢沙发吧~