Shell腳本例子集合


 

 

# vi xx.sh 

 

退出並保存

 

 

# chmod +x xx.sh 

 

# ./xx.sh 

 

 

-2.

調試腳本的方法

 

 

# bash -x xx.sh

就可以調試了

 

 

-1.

配置

secureCRT

的設置

(

我用的是

6.2.3 build313

版本

,

漢化版

 

選項

->

會話選項

(S)...->

終端

->

仿真

->

終端

(T)->

VT100

改成

Xterm->

點中

ANSI 

 

 

顏色

(A)

和使用顏色方案

(U)

復選框

 

這樣就有顏色顯示了

 

 

選項

->

會話選項

(S)...->

終端

->

外觀

->

字符編碼

(H)->

Default

變到

UTF-8. 

 

這樣就有中文顯示了

 

 

 

1.

寫一個腳本

,

執行后

,

打印一行提示

"Please input a 

 

 

number:",

要求用戶輸入數值

,

然后打印出該數值

,

然后再次要求用戶輸入數值

.

直到用戶輸入

"end"

停止

 

# vi show_var.sh 

 

腳本內容

 

 

#!/bin/bash 

 

unset var 

 

while [ "$var" != "end" ] 

 

do 

 

 

 

echo -n "please input a number: " 

 

 

 

read var 

 

 

 

if [ "$var" = "end" ] 

 

 

 

then 

 

 

 

break 

 

 

 

fi 

 

 

 

echo "var is $var" 

 

done 

 

 

命令保存后退出

,

並執行

 

# chmod +x show_var.sh 

 

# ./show_var.sh 

 

please input a number: 1 

 

var is 1 

 

please input a number: s 

 

var is s 

 

please input a number: end 

 

 

 

 

 

2.

寫一個腳本

,

測試位置參數

 

 

# vi param.sh 

 

腳本內容

 

 

#!/bin/bash 

 

#test shell 

 

echo $0 

 

echo $1 

 

echo $2 

 

echo $? 

 

echo $* 

 

echo $# 

 

 

命令保存后退出

,

並執行

 

# chmod +x param.sh 

 

# ./param.sh yema Bhanv edu network 

 

./param.sh //

程序名稱

 

 

Yema //

第一個參數

 

 

Bhanv //

第二個參數

 

 

0 //

程序執行結果

 

 

yema Bhanv edu network //

傳遞參數所組成的字符串

 

 

4 //

參數個數

 

 

 

 

 

3.

寫一個腳本

,

可以根據參數文件名

,

以正確的參數調用

tar

來解壓縮

tar.gz

tar.bz2

文件

 

# vi tar_gz_bz2.sh 

 

腳本內容

 

 

#!/bin/sh 

 

case ${1##*.tar.} in 

 

 

 

 

 

bz2) 

 

 

 

tar jxvf $1 

 

 

 

;; 

 

 

 

gz) 

 

 

 

tar zxvf $1 

 

 

 

;; 

 

 

 

*) 

 

 

 

echo "wrong file type" 

 

esac 

 

 

命令保存后退出

,

並執行

 

# chmod +x tar_gz_bz2.sh 

 

# ./tar_gz_bz2.sh 

 

 

 

 

# touch "helloA" > a.txt //

寫一個測試用的文件

 

 

# tar czvf a.tar.gz a.txt //

a.txt

壓縮成

tar.gz

文件

 

 

# rm -rf a.txt //

刪除

a.txt

來測試腳本

 

 

# ls a.* 

 

a.tar.gz 

 

# ./tar_gz_bz2.sh a.tar.gz 

 

# ls a.* 

 

a.tar.gz a.txt //

驗證了正確性

 

 

 

# touch "helloB" > b.txt //

寫一個測試用的文件

 

 

# tar cjvf b.tar.bz2 b.txt //

b.txt

壓縮成

tar.bz2

文件

 

 

# rm -rf b.txt //

刪除

b.txt

來測試腳本

 

 

# ls b.* 

 

b.tar.bz2 

 

# ./tar_gz_bz2.sh b.tar.bz2 

 

# ls b.* 

 

b.tar.bz2 b.txt //

驗證了正確性

 

 

 

# rm -rf a.txt a.tar.gz //

刪除測試用的文件

 

 

# rm -rf b.txt b.tar.bz2 //

刪除測試用的文件

 

 

 

4.

小棍子顯示

 

 

# vi showstick.sh 

 

 

#!/bin/bash 

 

i=0 

 

while [ $i -lt 10 ] 

 

do 

 

 

 

for j in '-' '\\' '|' '/' 

 

 

 

do 

 

 

 

echo -ne "\033[1D$j" 

 

 

 

usleep 50000 

 

 

 

done 

 

 

 

((i++)) 

 

done 

 

 

保存

 

 

# chmod +x showstick.sh 

 

# ./showstick.sh 

 

 

看效果

 

 

 

5.

顯示類似

wget 

的進度

 

 

# vi showwget.sh

 

 

 

 
 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM