大战熟女丰满人妻av-荡女精品导航-岛国aaaa级午夜福利片-岛国av动作片在线观看-岛国av无码免费无禁网站-岛国大片激情做爰视频

專(zhuān)注Java教育14年 全國(guó)咨詢(xún)/投訴熱線:400-8080-105
動(dòng)力節(jié)點(diǎn)LOGO圖
始于2009,口口相傳的Java黃埔軍校
首頁(yè) hot資訊 入門(mén)級(jí)shell腳本編程實(shí)例

入門(mén)級(jí)shell腳本編程實(shí)例

更新時(shí)間:2022-09-21 09:10:03 來(lái)源:動(dòng)力節(jié)點(diǎn) 瀏覽1657次

相信大家對(duì)Linux Shell腳本并不陌生,在本文為您仔細(xì)講解Shell腳本編程入門(mén)例子的相關(guān)知識(shí)和一些Code實(shí)例。

例子一:繪制特殊圖形

#!/bin/bash
MAX_NO=0
echo -n "Enter Number between (5 to 9) : "
 read MAX_NO 
if ! [ $MAX_NO -ge 5 -a $MAX_NO -le 9 ] ; then
 echo "WTF... I ask to enter number between 5 and 9, Try Again"
 exit 1
 fi 
clear 
for (( i=1; i=i; s-- ))
 do
 echo -n " "
 done
 for (( j=1; j=1; i-- ))
 do
 for (( s=i; s<=MAX_NO; s++ ))
 do
 echo -n " "
 done
 for (( j=1; j<=i; j++ ))
 do
 echo -n " ."
 done
 echo ""
 done
echo -e "\n\n\t\t\t Whenever you need help, Tecmint.com is always there"

你應(yīng)該不會(huì)被上述例子中的“關(guān)鍵字”困擾了,很多都是你熟悉的,或者從它們的名字可以猜出它們的意思,如“max”設(shè)定某個(gè)變量的最大值,“for”是一個(gè)循環(huán)。

輸出結(jié)果:

[root@tecmint ~]# chmod 755 Special_Pattern.sh
[root@tecmint ~]# ./Special_Pattern.sh
Enter Number between (5 to 9) : 6
       .
      . .
     . . .
    . . . .
   . . . . .
  . . . . . .
  . . . . . .
   . . . . .
    . . . .
     . . .
      . .
       .
 
        Whenever you need help, Tecmint.com is always there

如果你有其它語(yǔ)言的編程基礎(chǔ),那么學(xué)習(xí)上面的腳本對(duì)你來(lái)說(shuō)應(yīng)該很容易。即使你是計(jì)算機(jī)方面的新手,這個(gè)學(xué)習(xí)過(guò)程也不會(huì)太難。

例子二:五顏六色的腳本

Linux終端也是支持五顏六色的,請(qǐng)看下面的腳本:

#!/bin/bash 
clear
echo -e "\033[1m Hello World"
 # bold effect
echo -e "\033[5m Blink"
       # blink effect
echo -e "\033[0m Hello World"
 # back to noraml 
echo -e "\033[31m Hello World"
 # Red color
echo -e "\033[32m Hello World"
 # Green color
echo -e "\033[33m Hello World"
 # See remaing on screen
echo -e "\033[34m Hello World"
echo -e "\033[35m Hello World"
echo -e "\033[36m Hello World" 
echo -e -n "\033[0m"
  # back to noraml
echo -e "\033[41m Hello World"
echo -e "\033[42m Hello World"
echo -e "\033[43m Hello World"
echo -e "\033[44m Hello World"
echo -e "\033[45m Hello World"
echo -e "\033[46m Hello World" 
echo -e "\033[0m Hello World"

輸出結(jié)果:

你可以對(duì)上面的列子舉一反三,把它用到你自己的腳本中去。

例子三:加密文件/目錄

下面的例子演示了如何加密一個(gè)份文件或者文件夾。目前的這個(gè)版本的腳本有一些局限,例如你必須把它和你要加密的文件/目錄放到同一個(gè)文件夾下面。另外,你可能需要安裝“pinentry-gui”。在Fedora下安裝“pinentry-gui”的命令是:

[root@midstage ~]# yum install pinentry-gui

在Ubuntu/Debian下安裝“pinentry-gui”的命令是:

[root@midstage ~]# apt-get install pinentry-gui

創(chuàng)建一個(gè)腳本“Encrypt.sh”,將下面的代碼復(fù)制進(jìn)去。你也可以從這里下載這個(gè)腳本。

#!/bin/bash
echo "Welcome, I am ready to encrypt a file/folder for you"
echo "currently I have a limitation, Place me to the same folder,
where a file to be encrypted is present"
echo "Enter the Exact File Name with extension"
read file;
gpg -c $file
echo "I have encrypted the file sucessfully..."
echo "Now I will be removing the original file"
rm -rf $file

輸出結(jié)果:

[root@tecmint ~]# chmod 755 Encrypt.sh
[root@tecmint ~]# ./Encrypt.sh
Welcome, I am ready to encrypt a file/folder for you
currently I have a limitation, Place me to the same folder,
where a file to be encrypted is present
Enter the Exact File Name with extension 
package.xml 
                   Enter passphrase 
                   Passphrase _________________________________  
                   Please re-enter this passphrase 
                   Passphrase _________________________________  
I have encrypted the file successfully...
Now I will be removing the original file

代碼說(shuō)明:

gpg -c: 這個(gè)命令使用aka來(lái)加密文件。 在你需要的時(shí)候,你需要對(duì)加密的文件進(jìn)行解密。這里我們不給出具體的代碼了,你可以自己嘗試著寫(xiě)出來(lái)。提示:使用命令 gpg -d filename.gpg > filename 可以解密一份文件。

例子四:查看服務(wù)器利用率

查看服務(wù)器的利用率是管理員的一份重要的日常工作。聰明的管理員是知道如何是這份任務(wù)自動(dòng)化的。

#!/bin/bash
date;
echo "uptime:"
uptime
echo "Currently connected:"
w
echo "--------------------"
echo "Last logins:"
last -a |head -3
echo "--------------------"
echo "Disk and memory usage:"
df -h | xargs | awk '{print "Free/total disk: " $11 " / " $9}'
free -m | xargs | awk '{print "Free/total memory: " $17 " / " $8 " MB"}'
echo "--------------------"
start_log=`head -1 /var/log/messages |cut -c 1-12`
oom=`grep -ci kill /var/log/messages`
echo -n "OOM errors since $start_log :" $oom
echo ""
echo "--------------------"
echo "Utilization and most expensive processes:"
top -b |head -3
echo
top -b |head -10 |tail -4
echo "--------------------"
echo "Open TCP ports:"
nmap -p- -T4 127.0.0.1
echo "--------------------"
echo "Current connections:"
ss -s
echo "--------------------"
echo "processes:"
ps auxf --width=200
echo "--------------------"
echo "vmstat:"
vmstat 1 5

輸出結(jié)果:

[root@tecmint ~]# chmod 755 Server-Health.sh
[root@tecmint ~]# ./Server-Health.sh
Tue Jul 16 22:01:06 IST 2013
uptime:
22:01:06 up 174 days, 4:42, 1 user, load average: 0.36, 0.25, 0.18
Currently connected:
22:01:06 up 174 days, 4:42, 1 user, load average: 0.36, 0.25, 0.18
USER TTY FROM LOGIN@ IDLE JCPU PCPU WHAT
tecmint pts/0 116.72.134.162 21:48 0.00s 0.03s 0.03s sshd: tecmint [priv]
--------------------
Last logins:
tecmint pts/0 Tue Jul 16 21:48 still logged in 116.72.134.162
tecmint pts/0 Tue Jul 16 21:24 - 21:43 (00:19) 116.72.134.162
--------------------
Disk and memory usage:
Free/total disk: 292G / 457G
Free/total memory: 3510 / 3838 MB
--------------------
OOM errors since Jul 14 03:37 : 0
--------------------
Utilization and most expensive processes:
top - 22:01:07 up 174 days, 4:42, 1 user, load average: 0.36, 0.25, 0.18
Tasks: 149 total, 1 running, 148 sleeping, 0 stopped, 0 zombie
Cpu(s): 0.1%us, 0.0%sy, 0.0%ni, 99.3%id, 0.6%wa, 0.0%hi, 0.0%si, 0.0%st
PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND
1 root 20 0 3788 1128 932 S 0.0 0.0 0:32.94 init
2 root 20 0 0 0 0 S 0.0 0.0 0:00.00 kthreadd
3 root RT 0 0 0 0 S 0.0 0.0 0:14.07 migration/0

例子五:查看硬盤(pán)使用情況及發(fā)送提示郵件

下面的這個(gè)例子展示了當(dāng)硬盤(pán)的使用空間超出了預(yù)期設(shè)定的值時(shí),如果通過(guò)腳本來(lái)發(fā)送提示郵件。

MAX=95
EMAIL=server@127.0.0.1
PART=sda1 
USE=`df -h |grep $PART | awk '{ print $5 }' | cut -d'%' -f1`
if [ $USE -gt $MAX ]; then
echo "Percent used: $USE" | mail -s "Running out of disk space" $EMAIL
fi

以上就是關(guān)于“入門(mén)級(jí)shell腳本編程實(shí)例”的介紹,大家如果想了解更多相關(guān)知識(shí),可以關(guān)注一下本站的shell編程基礎(chǔ)教程,相信對(duì)大家的學(xué)習(xí)一定會(huì)有所幫助的。

提交申請(qǐng)后,顧問(wèn)老師會(huì)電話與您溝通安排學(xué)習(xí)

  • 全國(guó)校區(qū) 2025-06-26 搶座中
免費(fèi)課程推薦 >>
技術(shù)文檔推薦 >>
主站蜘蛛池模板: 一级特级欧美a毛片免费 | 日韩免费视频一区二区 | 狠狠影视 | 亚洲天堂国产 | 福利视频999| 全黄h全肉边做边吃奶在线观看 | 人人看人人鲁狠狠高清 | 亚洲欧美日韩中文字幕在线一区 | 免费看欧美一级特黄α大片 | 久热精品香蕉在线视频 | 女人18毛片一级毛片在线 | 女人18免费毛片视频 | 伊人久久国产免费观看视频 | 成人午夜毛片在线看 | 亚洲精品一二三区 | 久久亚洲精品专区蓝色区 | 日本一级一片免费 | 色综久久天天综合绕视看 | 91久久精品午夜一区二区 | 一级片在线免费看 | 国产欧美一区二区三区久久 | 欧美7777| 在线欧美视频免费观看国产 | 亚洲综合久久综合激情久久 | 国产欧美综合一区二区 | 国产激情对白一区二区三区四 | 99国产精品一区二区 | 狠狠色狠狠色综合日日32 | 亚洲免费视频一区二区三区 | 乱子伦xxxx厨房 | 99在线观看视频免费 | 五月久久| 国产一级免费在线观看 | 国产精品亚洲专一区二区三区 | 日本一二区视频 | 国产不卡视频在线播放 | 天天摸夜夜 | 国产精品永久免费自在线观看 | 国内精品久久影院 | 2020国产精品视频免费 | 综合色图 |