加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 服务器 > Linux > 正文

RHCE脚本题目详解

发布时间:2020-12-14 00:24:29 所属栏目:Linux 来源:网络整理
导读:目录 RHCE脚本题目详解 题目一 shell脚本之if语句实现: shell脚本之case语句实现: 题目二 实现 解析 写在后面 RHCE脚本题目详解 题目一 在system1上创建一个名为 /root/foo.sh 的脚本,让其提供下列特性: 当运行 /root/foo.sh redhat,输出为 fedora 当运

目录

  • 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 | fedora

shell脚本之if语句实现:

#/bin/bash
if [ "$1" == "redhat" ]
then
        echo "fedora"
elif [ "$1" == "fedora" ]
then
        echo "redhat"
else 
        echo "/root/foo.sh redhat | fedora"
fi

shell脚本之case语句实现:

#!/bin/bash
case $1 in
redhat)
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/bash
if [ $# -eq 0 ] ; then
echo "Usage: /root/batchusers userfile"
exit 1
fi
if [ ! -f $1 ] ; then
echo "Input file not found" 
exit 2
fi
for name in $(cat $1)
do
useradd -s /bin/false $name
done

解析

脚本第一题读懂没什么难度 唯一一个迷惑人的参数$1放到下面第二题一并解释

熟悉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 $1 ] ; then
echo "Input file not found" 
exit 2
fi
#使用for语句结合cat命令循环将传入文件(即变量$1所代表)中每一行字符串取出 并存入name变量里 
for name in $(cat $1)
do
#添加用户 用户名为name变量的值 并设置-s /bin/false参数
useradd -s /bin/false $name
done

写在后面

编辑shell脚本推荐使用vim编辑器

注意if语句格式 每个参数和 ‘[‘ 或 ‘]‘之间需要一个空格

务必理解脚本含义 不要死记脚本 毕竟题目中给定的测试字符串以及错误输出可能会变动

脚本编写完毕需要给予x执行权限chmod 755 filename 或者 chmod a+x filename

That is all ! Have a nice rhce time!

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读