SHELLスクリプトPPTスクリプト


SHELLスクリプトPPTスクリプト
使えることを前提によく書く
1、判断/var/ディレクトリの下のすべてのファイルのタイプ
[root@linux1 scripts]# cat filetype.sh 
#!/bin/bash
for i in $(find /var);do
    if [ -b $i ];then
    echo "$i     "
    elif [ -c $i ];then
    echo "$i     "
    elif [ -f $i ];then
    echo "$i      "
    elif [ -d $i ];then
        echo "$i      "
    elif [ -S $i ];then
        echo "$i  socket  "
    elif [ -L $i ];then
        echo "$i       "
    else
        echo "     "
    fi
done 

2、九九乗算表
[root@linux1 scripts]# cat 9x9.sh 
RED="\033[0;31m"
GREEN="\033[0;32m"
NO_COLOR="\033[0m"
for i in {1..9};do
    RANDOM_NUMBER=$[${RANDOM}%7+31]
    for j in `seq $i`;do
        echo -e "\033[0;${RANDOM_NUMBER}m${j}x${i}=$[$i*$j]\t\c"
    done
    echo -e "\033[0m"
done

3、ネットワーク内のホストの状態を判断する
[root@linux1 scripts]# cat online.sh 
#!/bin/bash
read -p "       (192.168.0.0):" NETID
net=`echo ${NETID} | cut -d. -f1-2`
for i in {1..254};do
    for j in {1..254};do
    { 
    ping -c2 -W1 ${net}.${i}.${j} &>/dev/null
    [ "$?" = "0" ] && echo "${net}.${i}.${j} is up" >>/tmp/online.txt
    } &
    done
done

CPU消費
4、チェス盤
背景色を使った
[root@linux1 ~]# cat chess.sh 
#!/bin/bash
for i in {1..8};do
    if [ $[${i}%2] -eq 1 ];then
    {
        for j in {1..4};do
            echo -en "\033[0;43m  \033[0m"
            echo -en "\033[0;42m  \033[0m"
        done
    }
    else
    {
        for j in {1..4};do
            echo -en "\033[0;42m  \033[0m"
            echo -en "\033[0;43m  \033[0m"
        done
    }
    fi
    echo
done

5、後続6文字列:efbaf 275 cd、4 be 9 c 40 b 8 b、44 b 2395 c 46、f 8 c 8873 ce 0、b 902 c 16 c 8 b、ad 865 d 2 f 63は、乱数変数RANDOMに対してランダムにコマンドを実行する:echo$RANDOM|md 5 sum|cut–c 1-10の結果、これらの文字列に対応するRANDOM値を解読してください
#!/bin/bash
passwd='efbaf275cd 4be9c40b8b 44b2395c46 f8c8873ce0 b902c16c8b ad865d2f63'
for j in $(seq 32767);do
{
    random_passwd=$(echo $j|md5sum|cut -c1-10)
    echo $passwd | grep -q $random_passwd
    if [ "$?" = "0" ];then
        echo  `echo $passwd | grep -o $random_passwd`:$j
    fi
}& 
done

6、緑色OKと赤色Failedを印刷する
[root@linux1 ~]# cat rgb.sh 
#!/bin/bash
. /etc/rc.d/init.d/functions
action OK true
action Failed false

7、現在のオペレーティングシステムを判断する
if [ -f /etc/redhat-release ]; then
    release="centos"
elif cat /etc/issue | grep -Eqi "debian"; then
    release="debian"
elif cat /etc/issue | grep -Eqi "ubuntu"; then
    release="ubuntu"
elif cat /etc/issue | grep -Eqi "centos|red hat|redhat"; then
    release="centos"
elif cat /proc/version | grep -Eqi "debian"; then
    release="debian"
elif cat /proc/version | grep -Eqi "ubuntu"; then
    release="ubuntu"
elif cat /proc/version | grep -Eqi "centos|red hat|redhat"; then
    release="centos"
fi