1,使用user.txt 文件中的员工名单,在系统中自动创建对应的账号并配置密码?
# cat create.sh
#!/bin/bash
for i in 'cat user.txt'
do
useradd $i
echo "123456" | passwd --stdin $i
done
2,编写批量修改扩展名的脚本,如批量将txt文件修改程doc文件:
# cat update_txt_doc.sh
#!/bin/bash
for i in "ls *.$1"
do
mv $i ${i%.*}$2
done
3,使用expect 工具 自动交互密码远程其他主机安装httpd 软件:
# cat expect_ssh_httpd.sh
#!/bin/bash
expect <<eof
spawn ssh 192.168.4.254
expect "password" {send "密码\r"}
expect "#" {send "yum –y install httpd\r"}
expect "#" {send "exit\r"}
eof
4, 使用死循环实时显示 eth0网卡发送的数据包流量:
# cat while_eth0.sh
#!/bin/bash
while:
do
ifconfig | grep "rx pack"
ifconfig | grep "tx pack"
done
5,判断当前主机的CPU生产商,其信息在/proc/cpuinfo 文件中 vendor id 一行中。如果其生产商为Genuinelntel ,就显示其为intel公司;否则,就显示为AMD公司:
# cat if_cpu.sh
#!/bin/bash
grep "genuineintel" /proc/cpuinfo &>/dev/null
if [ $? –eq 0 ];then
echo "intel cpu"
else
echo "amd cpu"
fi
6,编写脚本测试 192.168.1.0/24 整个网段中哪些主机处于开机状态,哪些主机处于关机状态:
# cat if_ping_host_ip.sh
#!/bin/bash
for i in {1..254}
do
ping 192.168.4.$i &>/dev/null
if [ $? –eq 0 ];then
echo "192.168.4.$i is up"
else
echo "192.168.4.$i is down"
done
如何将标准输出与错误输出重定向到一个位置,如何将标准输出重定向到/dev/null?
答案:
命令 &> 文件名 (可以将命令的标准输出和错误输出一起重定向)
命令 > /dev/null(可以将命令的标准输出重定向到/dev/null)