1. 程式人生 > >腳本編程基礎

腳本編程基礎

hat shell腳本基礎 red ups digi head uniq 當前 ash

shell腳本基礎編程

1、編寫腳本shiyan1.sh,用來顯示當前主機名、主機系統信息、IPV4地址、操作系統版本、內核版本、CPU型號、內存大小、硬盤大小。

[man~]# vim shiyan1.sh
#!/bin/bash

sleep 1
echo `hostname`
sleep 1
echo `cat /etc/redhat-release | cut -d. -f1-2`
sleep 1
echo IPV4地址:`ifconfig | grep -o "[1-9]\{1,3\}\.[0-9]\+\.[1-9]\{1,3\}\.[0-9]\{,3\}"|head -1`
sleep 1
echo `uname -r`
sleep 1
echo `lscpu |grep "Model name" |tail -1 | tr -s ‘ ‘ |cut -d: -f2`
sleep 1
echo `free -mh | head -2|tail -1|tr -s " "|cut -d" " -f2`
sleep 1
echo `fdisk -l|head -2|tail -1|cut -d, -f1|tr -d " "|cut -d: -f2`

利用命令 bash -x 腳本 可以查看腳本執行過程中的錯誤。

echo $?命令可以查看前面執行的腳本是否錯誤。

2、編寫腳本disk.sh,顯示當前硬盤中空間利用率最大的值。

[man~]# vim disk.sh
#!/bin/bash

echo `df |grep /dev/sd | grep -0 "[0-9]\{1,3\}%" |sort -rn |head -1`

3、編寫腳本link.sh顯示正連接本主機的每個遠程主機的IPV4地址和連接數。

[man~]# vim link.sh
#!/bin/bash

echo `netstat -tan | tr -s " " ":"|cut -d: -f6 | grep ^[[:digit:]]|sort|uniq -c | sort -nr`

4、編寫腳本backup.sh來實現每日備份。例如實現每日將/etc/目錄備份到/root/bin/etcYYY-mm-dd中。

[man~]# vim backup.sh
#!/bin/bash

sleep 1
echo -e "Backupstarting......."
sleep 2
cp -a /etc/ /root/etc`date +%Y-%m-%d`
echo -e "Backup finished......"

腳本編程基礎