###脚本1:判断是否可以 ping 通
[root@localhost mnt]# vim panding.sh #编写脚本 [root@localhost mnt]# cat panding.sh
#!/bin/bash for IP in {1..35} do ping -c1 -w1 172.25.254.$IP &> /dev/null && echo 172.25.254.$IP ok || echo 172.25.254.$IP error done[root@localhost mnt]# sh panding.sh #执行脚本
172.25.254.1 ok 172.25.254.2 ok 172.25.254.3 ok 172.25.254.4 ok … ###脚本2.指定任意一台的 IP
[root@localhost mnt]# ls beifen.sh mail.21:40:00 panding.sh ping.sh username daojishi.sh mail.21:40:11 passwd useradd.sh [root@localhost mnt]# cat ping.sh
#!/bin/bash ping -c1 -w1 172.25.254.$1 &> /dev/null && echo 172.25.254.$1 is ok || echo 172.25.254.$1 is error[root@localhost mnt]# sh ping.sh 14 172.25.254.14 is ok [root@localhost mnt]# sh ping.sh 130 172.25.254.130 is error [root@localhost mnt]# sh ping.sh 30 172.25.254.30 is ok [root@localhost mnt]#
###传回参数 [root@localhost mnt]# vim ndd.sh [root@localhost mnt]# chmod +x ndd.sh
#!/bin/bash [ -z "$1" ] && echo WTF:please give a IP && exit 1 ping -c1 -w1 $1 &>/dev/null if [ "$?" = "0" ] then echo $1 is up else echo $1 is down fi[root@localhost mnt]# sh ndd.sh WTF:please give a IP [root@localhost mnt]# sh ndd.sh 172.25.254.15 172.25.254.15 is up [root@localhost mnt]# sh ndd.sh 172.25.254.130 172.25.254.130 is down [root@localhost mnt]#
###脚本3.自动新建用户
[root@localhost mnt]# cat username linux1 linux2 linux3 [root@localhost mnt]# cat passwd linux123 linux456 linux789 [root@localhost mnt]# vim useradd.sh
#!/bin/bash MAXLINE=`wc -l /mnt/username | cut -d " " -f 1` for NUM in $(seq 1 $MAXLINE) do USERNAME=`sed -n ${NUM}p /mnt/username` PASSWORD=`sed -n ${NUM}p /mnt/passwd` useradd $USERNAME echo $PASSWD | passwd --stdin $USERNAME done###脚本4.删除用户
#!/bin/bash MAXLINE=`wc -l /mnt/username | cut -d " " -f 1` for NUM in $(seq 1 $MAXLINE) #$() 括号里面的内容先执 $()===`` do USERNAME=`sed -n ${NUM}p /mnt/username` #${} 引用变量 PASSWORD=`sed -n ${NUM}p /mnt/passwd` useradd $USERNAME echo $PASSWD | passwd --stdin $USERNAME ***userdel -r $USERNAME done[root@localhost mnt]# sh useradd.sh useradd: user ‘linux1’ already exists Changing password for user linux1. passwd: Authentication token manipulation error useradd: user ‘linux2’ already exists Changing password for user linux2. passwd: Authentication token manipulation error useradd: user ‘linux3’ already exists Changing password for user linux3. passwd: Authentication token manipulation error [root@localhost mnt]# id linux1 id: linux1: no such user [root@localhost mnt]# id linux2 id: linux2: no such user [root@localhost mnt]# id linux3 id: linux3: no such user [root@localhost mnt]# su - linux1 su: user linux1 does not exist
###脚本5:10S倒计时
#!/bin/bash for ((i=10;i>=0;i--)) do echo -n After ${i}s is end #is之后结束 sleep 1 #休眠 1s echo -ne '\r \r' #覆盖掉之前的时间数 done[root@localhost mnt]# sh daojishi.sh After 8s is end^C
###脚本6:比较输出
#!/bin/bash if [ "$1" = "linux" ] then echo westos elif [ "$1" = "westos" ] then echo linux else echo WFT:Are you kidding me? fi[root@localhost mnt]# sh check.sh linux westos [root@localhost mnt]# sh check.sh westos linux [root@localhost mnt]# sh check.sh nihao WFT:Are you kidding me? [root@localhost mnt]#
###6.环境变量
shell和脚本用变量来存储数据,有些变量可以连它们的内容传递给子进程,这些变量我们称之为环境变量 export #环境级 vim ~/.bash_profile;source.bash_profile ##用户级 vim /etc/profile;source /etc/profile ##系统级