目录
RHCE脚本题目详解 题目一 shell脚本之if语句实现: shell脚本之case语句实现: 题目二 实现 解析 写在后面 RHCE脚本题目详解 题目一在system1上创建一个名为 /root/foo.sh 的脚本,让其提供下列特性:
当运行 /root/foo.sh redhat,输出为 fedora
当运行 /root/foo.sh fedora,输出为 redhat
当没有任何参数或者参数不是 redhat 或者 fedora 时,其错误输出产生以下的信息:
/root/foo.sh redhat | fedorashell脚本之if语句实现:
#/bin/bashif [ "" == "redhat" ]then echo "fedora"elif [ "" == "fedora" ]then echo "redhat"else echo "/root/foo.sh redhat | fedora"fishell脚本之case语句实现:
#!/bin/bashcase inredhat)echo "fedora";;fedora)echo "redhat";;*)echo "/root/foo.sh redhat|fedora";;esac题目二
在 system1 上创建一个脚本,名为 /root/batchusers,此脚本能实现为系统 system1 创建本地用户,并且这些用户的用户名来自一个包含用户名列表的文件,同时满足下列要求:
此脚本要求提供一个参数,此参数就是包含用户名列表的的文件
如果没有提供参数,此脚本应该给出下面的提示信息 Usage: /root/batchusers userfile 然后退出并返回相应的值
如果提供一个不存在的文件名,此脚本应该给出下面的提示信息 input file not found 然后退出并返回相应的值
创建的用户登录shell为 /bin/false
此脚本不需要为用户设置密码
您可以从下面的URL获取用户名列表作为测试用 http://server.group8.example.com/pub/userlist
实现#!/bin/bashif [ $# -eq 0 ] ; thenecho "Usage: /root/batchusers userfile"exit 1fiif [ ! -f ] ; thenecho "input file not found" exit 2fifor name in $(cat )douseradd -s /bin/false $namedone解析
脚本第一题读懂没什么难度 唯一一个迷惑人的参数放到下面第二题一并解释
熟悉shell编程 中 if语句 和case语句基本格式即可 建议使用简单的if语句实现
#指定/bin/bash执行该脚本#!/bin/bash# $#代表传入的参数个数 此处为0 即代表不传入任何参数 if [ $# -eq 0 ] ; then# 返回错误语句"Usage: /root/batchusers userfile"echo "Usage: /root/batchusers userfile"#退出 返回相应的值exit 1# shell中if语句的结构所需fi# !非 -f 后跟文件名 用于判断是否存在文件 if [ ! -f ] ; thenecho "input file not found" exit 2fi#使用for语句结合cat命令循环将传入文件(即变量所代表)中每一行字符串取出 并存入name变量里 for name in $(cat )do#添加用户 用户名为name变量的值 并设置-s /bin/false参数useradd -s /bin/false $namedone写在后面
编辑shell脚本推荐使用vim编辑器
注意if语句格式 每个参数和 ‘[‘ 或 ‘]‘之间需要一个空格
务必理解脚本含义 不要死记脚本 毕竟题目中给定的测试字符串以及错误输出可能会变动
脚本编写完毕需要给予x
执行权限chmod 755 filename
或者 chmod a+x filename
That is all ! Have a nice rhce time!
总结以上是内存溢出为你收集整理的RHCE脚本题目详解全部内容,希望文章能够帮你解决RHCE脚本题目详解所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)