陈奇网络工作室

RedHat第25期在线培训班---第6课

系统运输

知识点红帽测试原题:在脚本中使用read命令读取用户输入的密码值,将其分配给PASSWD变量,并使用-p参数显示提示信息,告知用户正在输入的内容将是帐户密码。 运行此脚本时,将自动使用从列表文件users.txt中获取的所有用户名,并使用“id用户名”命令逐个显示用户信息,以获取$? 确定此命令是否成功执行就是确定该用户是否已经存在。

更确切地说,/dev/null是被称为Linux黑洞的文件,将输出信息重定向到该文件就等于删除数据,可以保持用户的屏幕窗口简洁。

[ root @ Linux probe~] # vim example.sh

#! /bin/bash

read-pentertheuserspassword:passwd

for UNAME in `cat users.txt `

do

id $UNAME /dev/null

if [ $? -eq 0 ]

then

echo阵列执行

else

useradd $UNAME /dev/null

echo $ passwd|passwd---stdin $ uname/dev/null

if [ $? -eq 0 ]

then

echo $UNAME,Create success

else

echo $UNAME,Create failure

fi

fi

运行批量创建用户的shell脚本Example.sh,并输入为帐户设置的密码,脚本将自动检查并创建这些帐户。 由于多余的信息通过输出重定向器传输到/dev/null黑洞文件中,因此屏幕窗口通常包含“创建用户帐户成功”( Create success )消息之外的内容

在Linux系统上,/etc/passwd是用于存储用户帐户信息的文件。 如果希望该脚本检查是否成功创建了用户帐户,可以打开此文件以查看是否有新创建的用户信息。

[ root @ Linux probe~] # bash example.sh

entertheuserspassword:Linux probe

安迪,创建子集

巴里,Create success

carl,Create success

duke,Create success

eric,Create success

george,Create success

[ root @ Linux probe~] # tail-6/etc/passwd

Andy:x:1001:1001:/home/Andy:/bin/bash

巴里: x:1002:1002:/home/Barry:/bin/bash

Carl:x:1003:1003:/home/Carl:/bin/bash

duke:x:1004:1004:/home/duke:/bin/bash

Eric:x:1005:1005:/home/Eric:/bin/bash

George:x:1006:1006://home/George:/bin/bash

该脚本将自动从主机列表文件ipadds.txt中读取表示主机的IP地址,并将该地址分配给HLIST变量,然后确定执行ping命令后的返回值,以逐个测试主机是否联机。 脚本中的$ (命令)是一个shell操作符,与第三章中转义字符的反引号命令非常相似,其效果与对包含在括号或双引号中的字符串执行命令相同。 大家在编写脚本的时候,可以学习一些类似的新方法,活跃在工作中:

[ root @ Linux probe~] # vimcheck hosts.sh

#! /bin/bash

hlist=$(cat(/ipadds.txt ) )。

for IP in $HLIST

do

ping -c 3 -i 0.2 -W 3 $IP /dev/null

if [ $? -eq 0 ]; then

echo Host $IP is On-line。

else

echo Host $IP is Off-line。

fi

[ root @ Linux probe~~ ] #./check hosts.sh

主机192.168.10.10 is联机。

主机192.168.10.11 is关断线。

主机192.168.10.12 is关断线。

二学习体验

上传三张图片

详情请访问云服务器、域名注册、虚拟主机的问题,请访问西部数码代理商官方网站: www.chenqinet.cn

相关推荐

后台-系统设置-扩展变量-手机广告位-内容页底部广告位3