成人性生交大片免费看视频r_亚洲综合极品香蕉久久网_在线视频免费观看一区_亚洲精品亚洲人成人网在线播放_国产精品毛片av_久久久久国产精品www_亚洲国产一区二区三区在线播_日韩一区二区三区四区区区_亚洲精品国产无套在线观_国产免费www

主頁 > 知識庫 > linux基礎(chǔ)之Shell Script入門介紹

linux基礎(chǔ)之Shell Script入門介紹

熱門標(biāo)簽:華鋒e路航港口地圖標(biāo)注 打電話機(jī)器人接我是他的秘書 如果做線上地圖標(biāo)注 河南信譽(yù)好的不封卡電話外呼系統(tǒng) 江蘇云電銷機(jī)器人公司 揭陽智能電話機(jī)器人推薦 地圖標(biāo)注員都是年輕人 百度地圖標(biāo)注錯了有責(zé)任嗎 客服外呼系統(tǒng)怎么樣

linux基礎(chǔ)之Shell Script

1 Shell Scipt
使用指令和基本程序設(shè)計(jì)結(jié)構(gòu)寫成的程序,可以完成復(fù)雜的處理流程

1.1 程序書寫

復(fù)制代碼 代碼如下:

#!/bin/bash
# Program:
#       This program shows "Hello Wrold" in your screen.
# History:
# 2013/2/3 on_1y First release
PATH=$PATH
export PATH
echo -e "Hello World!\a\n"
exit 0

第一行 #!/bin/bash 說明使用的shell類型,不同shell語法可能不同,所以要說明使用的是哪種shell
其它#開始的表示注釋,注釋一般需要說明
程序功能
版本歷史
作者及聯(lián)系方式
設(shè)置好PATH變量,以便直接可以調(diào)用相應(yīng)路徑下的命令
程序主體部分
exit 0 表示程序執(zhí)行成功,向環(huán)境返回0
1.2 程序執(zhí)行
bash $bash sh01.sh #如果用sh sh01.sh而sh又不是指向bash,那么sh01.sh內(nèi)的語法就會不一致,因?yàn)橛?#sh去解釋了bash語法寫的shell script,針對這個程序,如果 #$type sh #得到sh is hashed (/bin/sh) #那么會輸出-e Hello world!,而非Hello world!

復(fù)制代碼 代碼如下:

$./xxx.sh $chmod +x sh01.sh $./sh01.sh
source $ source sh01.sh

注:用bash和用source的不同在于,用bash執(zhí)行時(shí),shell script其實(shí)是在在父程序bash下新建了一個 bash子程序,這個子程序中執(zhí)行,當(dāng)程序執(zhí)行完后,shell script里定義的變量都會隨子程序的結(jié)束而消失, 而用source執(zhí)行時(shí),是在父程序bash中執(zhí)行,shell script里定義的變量都還在。

2 簡單Shell練習(xí)

2.1 例1 接收用戶輸入

復(fù)制代碼 代碼如下:

# !/bin/bash
# Program:
#       This program is used to read user's input
# Site: www.jb51.net
# 2013/2/3 on_1y First release
PATH=$PATH
export PATH
read -p "Your first name:" firstname # tell user to input
read -p "Your last name:" lastname # tell user to input
echo -e "\nYour full name: $firstname $lastname"
exit 0

調(diào)用:

復(fù)制代碼 代碼如下:

$ bash sh02.sh
Your first name:Minix
Your last name:007
Your full name: Minix 007

2.2 例2 按日期建立相似名字的文件

復(fù)制代碼 代碼如下:

# !/bin/bash
# Program:
#       This program is used to create files according to date
# History:
# 2013/2/3 on_1y First release
PATH=$PATH
export PATH
# Get filename from user
echo -e "I will use 'touch' to create three files."
read -p "Please input your filename:" tmpfilename
# Prevent the user input [Enter]
# Check whether filename exists or not
filename=${tmpfilename:-"filename"}
# Get the final filename according to date
date1=$(date --date='2 days ago' +%Y%m%d) # date of 2 days ago
date2=$(date --date='1 days ago' +%Y%m%d) # date of yesterday
date3=$(date +%Y%m%d) # date of today
filename1=${filename}${date1}
filename2=${filename}${date2}
filename3=${filename}${date3}
# Create file
touch "$filename1"
touch "$filename2"
touch "$filename3"
exit 0

調(diào)用:

復(fù)制代碼 代碼如下:

$ bash sh03.sh
I will use 'touch' to create three files.
Please input your filename:WhoKnows
$ ls W*
WhoKnows20130201  WhoKnows20130202  WhoKnows20130203

3 判斷式
3.1 測試文件是否存在
test -e filename會根據(jù)filename是否存在返回0或1,再交由echo顯示結(jié)果:

復(fù)制代碼 代碼如下:

$ test -e sh01.sh  echo "Exists" || echo "Not exists"
Exists
$ test -e sh0x.sh  echo "Exists" || echo "Not exists"
Not exists

3.2 test常用選項(xiàng)
3.2.1 文件類型

復(fù)制代碼 代碼如下:

-e file :file是否存在
-f file :file是否存在且為文件
-d file :file是否存在且為目錄

3.2.2 權(quán)限
-r file :file是否有讀的權(quán)限

3.2.3 文件新舊比較
-nt file1 file2 : file1 是否比 file2新

3.2.4 整數(shù),字符串,多重條件判斷
-z string: string是否為空
例:輸出指定文件類型及屬性

復(fù)制代碼 代碼如下:

# !/bin/bash
# Program:
#       This program is used to output type and permission of the target file
# History:
# 2013/2/3 on_1y First release
PATH=$PATH
export PATH
# Get filename from user
echo -e "Input name of the file that you want to check.\n"
read -p "Filename:" filename
test -z $filename echo "You must input a filename." exit 0
# Check whether the file exists or not
test ! -e $filename echo "The file '$filename' DO NOT exists" exit 0
# Check type and permission of the file
test -f $filename filetype="regular file"
test -d $filename filetype="directory"
test -r $filename perm="readable"
test -w $filename perm="$perm writable"
test -x $filename perm="$perm executable"
# Output result
echo "The filename:$filename is a $filetype"
echo "And Permissions are :$perm"
exit 0

調(diào)用:

復(fù)制代碼 代碼如下:

$ bash sh04.sh
Input name of the file that you want to check.

Filename:sh01.sh
The filename:sh01.sh is a regular file
And Permissions are :readable writable executable

3.3 使用[]判斷

測試文件是否存在

復(fù)制代碼 代碼如下:

$ [ -e "sh01.sh" ] ; echo $?
0
$ [ -e "sh0x.sh" ] ; echo $?
1

注意[]內(nèi)空格必須有
這種方法和test的test -e "sho1.sh" ; echo $? 是一致的

4 Shell Script 參數(shù)

復(fù)制代碼 代碼如下:

# !/bin/bash
# Program:
#       This program is used to ouput parameter of the shell script
# History:
# 2013/2/3 on_1y First release
PATH=$PATH
export PATH
echo "The script's name is ==> $0"
echo "Total parameter number is ==> $#"
# Check whether number of the parameter is less than 2
[ "$#" -lt 2 ] echo "The number of parameter is less than 2.Stop here." exit 0
echo "The whole parameter is ==> '$@'"
echo "The first parameter is ==> $1"
echo "The first parameter is ==> $2"
exit 0

調(diào)用:

復(fù)制代碼 代碼如下:

$ bash sh05.sh 1a 2b 3c 4d
The script's name is ==> sh05.sh
Total parameter number is ==> 4
The whole parameter is ==> '1a 2b 3c 4d'
The first parameter is ==> 1a
The first parameter is ==> 2b

注:從以上程序可以看出與參數(shù)有關(guān)的預(yù)設(shè)變量如何表示

5 條件表達(dá)式

5.1 if 結(jié)構(gòu)

復(fù)制代碼 代碼如下:

# !/bin/bash
# Program:
#       This program is used to show if else expression
# History:
# 2013/2/3 on_1y First release
PATH=$PATH
export PATH
read -p "Please input [Y/N]" choice
if [ "$choice" == "Y" ] || [ "$choice" == "y" ];then
    echo "OK, continue"
    exit 0
fi
if [ "$choice" == "N" ] || [ "$choice" == "n" ];then
    echo "Oh, interupt"
    exit 0
fi
exit 0

調(diào)用:

復(fù)制代碼 代碼如下:

$ bash sh06.sh
Please input [Y/N]y
OK, continue
$ bash sh06.sh
Please input [Y/N]n
Oh, interupt

5.2 if else 結(jié)構(gòu)

復(fù)制代碼 代碼如下:

# !/bin/bash
# Program:
#       This program is used to show if else expression
# History:
# 2013/2/3 on_1y First release
PATH=$PATH
export PATH
read -p "Please input [Y/N]" choice
if [ "$choice" == "Y" ] || [ "$choice" == "y" ];then
    echo "OK, continue"
    exit 0
elif [ "$choice" == "N" ] || [ "$choice" == "n" ];then
    echo "Oh, interupt"
    exit 0
else
    echo "Input [Y/N]"
fi
exit 0

5.3 case

復(fù)制代碼 代碼如下:

# !/bin/bash
# Program:
#       This program is used to show case expression
# History:
# 2013/2/3 on_1y First release
PATH=$PATH
export PATH
read -p "Tell me your choice:[1-3]=>" choice
case $choice in
    "1")
        echo "Your choice is ONE"

    "2")
        echo "Your choice is TWO"

    "3")
        echo "Your choice is THREE"

esac
exit 0

調(diào)用:

復(fù)制代碼 代碼如下:

$ bash sh08.sh
Tell me your choice:[1-3]=>2
Your choice is TWO
$ bash sh08.sh
Tell me your choice:[1-3]=>1
Your choice is ONE
$ bash sh08.sh
Tell me your choice:[1-3]=>3
Your choice is THREE

6 函數(shù)

復(fù)制代碼 代碼如下:

# !/bin/bash
# Program:
#       This program is used to test function
# History:
# 2013/2/3 on_1y First release
PATH=$PATH
export PATH
function myprint(){
    echo -n "Your choice is "
}
read -p "Tell me your choice:[1-3]=>" choice
case $choice in
    "1")
        myprint;echo "ONE"

    "2")
        myprint;echo "TWO"

    "3")
        myprint;echo "THREE"

esac
exit 0

調(diào)用:

復(fù)制代碼 代碼如下:

$ bash sh09.sh
Tell me your choice:[1-3]=>1
Your choice is ONE
$ bash sh09.sh
Tell me your choice:[1-3]=>2
Your choice is TWO
$ bash sh09.sh
Tell me your choice:[1-3]=>3
Your choice is THREE

7 循環(huán)
7.1 while

復(fù)制代碼 代碼如下:

# !/bin/bash
# Program:
#       This program shows while expression
# History:
# 2013/2/3 on_1y First release
PATH=$PATH
export PATH
while [ "$choice" != "yes" ]
do
    read -p "Give your choice [yes/no]:" choice
done
exit 0

調(diào)用:

復(fù)制代碼 代碼如下:

$ bash sh10.sh
Give your choice [yes/no]:no
Give your choice [yes/no]:no
Give your choice [yes/no]:nx
Give your choice [yes/no]:yes

7.2 for

復(fù)制代碼 代碼如下:

# !/bin/bash
# Program:
#       This program is used to demo for expression
# History:
# 2013/2/3 on_1y First release
PATH=$PATH
export PATH
for choice in 1 2 3
do
    echo "your choice is $choice"
done
exit 0

調(diào)用示例:

復(fù)制代碼 代碼如下:

$ bash sh11.sh
your choice is 1
your choice is 2
your choice is 3

8 shell script的追蹤與Debug
sh -n xx.sh # 語法檢查
sh -x xx.sh # 列出xx.sh的執(zhí)行過程

您可能感興趣的文章:
  • Linux基礎(chǔ)知識99問(五)
  • Linux基礎(chǔ)知識99問(四)
  • Linux基礎(chǔ)知識99問(二)
  • Linux基礎(chǔ)知識99問(一)
  • Linux下PHP+MYSQL+APACHE配置過程 (摘)
  • linux下安裝apache與php;Apache+PHP+MySQL配置攻略
  • linux php mysql數(shù)據(jù)庫備份實(shí)現(xiàn)代碼
  • linux下apache、mysql、php安裝配置詳細(xì)筆記
  • linux安裝全中文管理面板教程(php+mysql)
  • hi 感恩節(jié)——Linux基礎(chǔ)教程之mysql和php

標(biāo)簽:金昌 馬鞍山 淘寶邀評 邵陽 巴彥淖爾 婁底 赤峰 許昌

巨人網(wǎng)絡(luò)通訊聲明:本文標(biāo)題《linux基礎(chǔ)之Shell Script入門介紹》,本文關(guān)鍵詞  linux,基礎(chǔ),之,Shell,Script,;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問題,煩請?zhí)峁┫嚓P(guān)信息告之我們,我們將及時(shí)溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無關(guān)。
  • 相關(guān)文章
  • 下面列出與本文章《linux基礎(chǔ)之Shell Script入門介紹》相關(guān)的同類信息!
  • 本頁收集關(guān)于linux基礎(chǔ)之Shell Script入門介紹的相關(guān)信息資訊供網(wǎng)民參考!
  • 推薦文章
    亚洲大片一区二区三区| aaa免费看大片| 午夜黄色在线观看| 亚洲免费毛片网站| 国产绿帽一区二区三区| 国产探花视频在线观看| 一区二区三区精| 久久亚洲AV成人无码国产野外| 91在线视频免费看| av中文资源在线资源免费观看| 99国产精品白浆在线观看免费| 在线免费观看日本欧美爱情大片| 国产精品偷拍| 日韩视频免费观看高清完整版在线观看| 欧美风情第一页| 北条麻妃国产九九精品视频| 国产精品冒白浆免费视频| 伊人网在线观看| 日韩专区精品| 午夜精品久久久久久久99热| 超碰国产一区| 亚洲一区二区视频在线观看| 都市激情在线视频| 国产卡一卡二在线| 中文字幕xxxx| 中文在线不卡视频| 日韩精品综合在线| 任你操这里只有精品| 91精品一久久香蕉国产线看观看| 老女人性生活视频| 成人全视频在线观看在线播放高清| 日韩第一页在线| 亚洲AV无码成人精品区东京热| 亚洲AV成人无码一二三区在线| 欧美亚洲第一区| x99av成人免费| 黄视频网站在线看| 成人国产精品一区二区网站| 亚洲天堂av一区二区三区| 免费超碰在线| 高清一区二区视频| 亚洲精品白浆| 高清乱码免费看污| 中文字幕久久精品一区二区| 91ts人妖另类精品系列| 成人高清在线观看| 亚洲精品成人在线播放| 米奇777在线影院线| 欧美一区二区视频网站| 一区二区国产日产| 久久这里只有精品国产| 国产精品久久久久久久久鸭| 嫩草视频免费在线观看| 欧美不卡视频在线观看| 一个人看的视频www在线观看免费| 亚洲国产精品久久| 你懂得在线视频| 91精品办公室少妇高潮对白| 久青草免费视频| 日韩专区第一页| 欧美日韩在线观看一区二区三区| xfplay资源站色先锋在线观看| 久久久久久久麻豆| 91久久久国产精品| 日韩欧美三级一区二区| 成人福利影视| 国产女人18毛片水真多| 91sp网站在线观看入口| 亚洲av永久无码国产精品久久| 91成人国产| 一区二区三区区四区播放视频在线观看| 青娱乐国产精品视频| 中国女人一级一次看片| 一二三四视频社区在线| 国产一级片在线| 国产精品久久欧美久久一区| 国产亚洲精品一区二区| 国产成人无码一二三区视频| 国产乱码精品一区二区三区亚洲人| 综合激情成人伊人| 中文字幕 日韩有码| 亚洲综合极品香蕉久久网| 在线观看午夜看亚太视频| 99久久婷婷国产综合精品首页| 国产免费av一区二区三区| 国产黄色免费观看| 中文字幕人妻精品一区| 99电影网电视剧在线观看| 欧美91视频| 欧美在线日韩在线| 日本精品视频一区二区三区| 色老汉一区二区三区| 日本最新不卡在线| 四虎影院观看视频在线观看| 亚洲网站视频在线观看| 欧美一区二区久久| 一区二区三区四区中文字幕| 亚洲精品乱码| 国产精品女主播av| 艳母动漫在线免费观看| 国产精品一区二区美女视频免费看| 欧产日产国产69| 一区二区三区视频在线看| 一二三区精品视频| 成人在线免费观看av| 天天综合天天操| 91中文字幕精品永久在线| 黄网站app在线观看| 国产一级视频在线观看| 国产特级毛片| 四虎影视国产在线视频| 日韩精品――色哟哟| 国产91|九色| 日韩三级中文字幕| 超碰在线资源| 三级在线免费观看| 成人在线免费观看视频网站| av亚洲产国偷v产偷v自拍| 99久久99热久久精品免费看| 久久久91精品国产一区二区精品| 亚洲白虎美女被爆操| 日韩精品一区二区亚洲av观看| 久久国产高清视频| 久久精品色图| 成年无码av片在线| 中文字幕一区二区三区在线观看| 精品欧美日韩在线| 欧美在线xxx| 美女网站视频在线| 日韩午夜免费视频| 日本一区二区在线视频| 欧美巨乳在线| 96sao精品视频在线观看| 国产在线精品观看| 无罩大乳的熟妇正在播放| 国产三级日本三级在线播放| 国产91精品青草社区| 在线观看视频99| 美女黄色在线网站大全| 久久看片网站| 国产成人福利网站| 在线视频综合导航| 国产美女久久精品香蕉69| 欧美一区免费看| 中文字幕在线一区| 性色av一区二区三区四区| 男人先锋资源| 国产一区二区三区精品视频| 亚洲免费影视第一页| 亚洲精品国产成人久久av盗摄| 国产精品无码专区| 久久国产精彩视频| 日本一区二区三区dvd视频在线| 国产精品嫩草影院8vv8| 福利在线午夜| 亚洲精品国产精品久久清纯直播| 欧美美女在线直播| 亚洲一级在线| 鲁大师影院一区二区三区| 国产一区二区三区福利| 成人午夜在线| 欧美疯狂party性派对| 老司机av在线免费看| 99精品99| 1区2区3区在线| 狠狠精品干练久久久无码中文字幕| 亚洲人成久久| 欧美伦理视频在线观看| 本网站久久精品| 日韩福利电影在线观看| 亚洲自拍偷拍网站| 国产精品成人一区二区三区吃奶| 成年人免费在线视频| 中文字幕亚洲欧洲| 国产美女一区| 99久久99久久精品国产片桃花| 热久久一区二区| 6080亚洲精品一区二区| 先锋影音欧美官网| 色先锋资源在线播放av| 亚洲精华国产精华精华液网站| 国产真实乱对白精彩久久| 国产99久久九九精品无码免费| 亚洲美女自拍视频| 四虎成人在线| 国产日韩欧美三级| 亚洲一区二区三区在线| 免费中文字幕视频| 亚洲精品二区三区| 欧美激情一区二区视频| 黄无遮挡免费网站| 日韩亚洲国产精品| 日韩精品久久久免费观看| youjizz.com国产| 蜜臀av色欲a片无码精品一区| 欧美日韩精品在线一区二区| 黄视频在线播放| 中文字幕 日本| 最新版sss视频在线| 欧美高清hd18日本| 日本japanese极品少妇| 懂色aⅴ精品一区二区三区蜜月| 97久精品国产片一区二区三区| 深夜福利视频在线免费观看| 伊人成年综合网| 日韩三区在线| 99热在线这里只有精品| 无码人妻久久一区二区三区不卡| 91精品一区| 一本色道久久综合亚洲精品按摩| 少妇一级淫免费放| 韩国三级视频在线观看| 亚洲自拍偷拍网址| 91久久国语露脸精品国产高跟| 国精产品一区一区三区mba视频| 99精品国产91久久久久久| 天天干天天草| 久久亚洲综合国产精品99麻豆精品福利| 欧美精品vⅰdeose4hd| 狠狠干狠狠搞| 福利一区福利二区微拍刺激| 91精品国产自产拍在线观看蜜| 女色窝人体色77777| 久久中文字幕二区| 国产成人亚洲综合91| 国产一区二区不卡| 女人在下体塞跳蛋在线观看| 在线看av的网址| 国产成人av一区二区三区不卡| 色一情一乱一伦一视频免费看| 国产精品熟妇一区二区三区四区| 免费自拍视频| 亚洲性线免费观看视频成熟| 成人欧美在线视频| 国产精品剧情| 免费观看久久久久| 国产在线精品一区| 95精品视频在线| 亚洲一区二区欧美| 亚洲人成电影网站色mp4| 成人手机在线| 亚洲午夜伦理| 日本少妇毛茸茸高潮| 天天操天天干天天操天天干| 色综合久久久888| 国产91精品在线观看| 88国产精品欧美一区二区三区| 国产在线精品一区二区中文| 国产一级片一区二区| 成人精品动漫一区二区三区| 一区二区日韩在线观看| 人妻精品一区二区三区| 精品人妻无码一区二区三区蜜桃一| 天天操天天干天天操| 电影一区二区三区| 国产在线一区二区三区| 999www成人| 污污影院在线观看| 中文字幕一区二区三区日韩精品| 在线播放精品一区二区三区| 国产精品久久久久久久久久久久久久| 久久久男人的天堂| 岳张嘴把我的精子吞下去| 亚洲日本在线观看视频| 中文字幕在线观看网站| 侵犯稚嫩小箩莉h文系列小说| 日韩精品一区第一页| 国产精品一国产精品k频道56| 色偷偷偷亚洲综合网另类| 亚洲已满18点击进入在线看片| 亚洲国内自拍| 6080亚洲精品一区二区| 成人亚洲一区二区三区| 久久免费国产| 性欧美暴力猛交69hd| 乱子伦一区二区三区| 亚洲免费中文字幕| 精品久久久久久久久久久久久久久久久久| 欧洲精品一区二区三区久久| 欧美性感一类影片在线播放| 亚洲毛片aa| 久久精品亚洲国产| 亚洲一区二区三区四区av| 一区二区三区 在线观看视频| 日韩三级久久| 亚洲an天堂an在线观看| 黄色aaa视频| 亚洲欧美日韩免费| 亚洲欧洲日产国码无码久久99| 五月天av影院| 亚洲精品a区| 久久久久久久久久一区二区三区| 激情小说网站亚洲综合网| 久久久在线观看| 国产成人无码精品久在线观看| 国产日本精品| 午夜视频在线| 97国产精品视频人人做人人爱| 午夜日韩在线观看| 免费看成人吃奶视频在线| 在线看片地址| 另类中文字幕网| 给我免费观看片在线电影的| 欧美暴力喷水在线| 精品国产一级片| 999国产精品999久久久久久| 美女脱光衣服与内衣内裤一区二区三区四区| 久久精品在线视频| 中文日产幕无线码一区二区| 美女伦理水蜜桃4| 欧美国产大片| 丰满少妇被猛烈进入| 国产激情一区| 日本不卡123| 视频精品导航| 久久国产波多野结衣| 亚洲国产精品一区二区www在线| 亚洲精品合集| 亚洲一二三精品| www.色呦呦| 91在线porny国产在线看| 日本成人在线视频网址| 最近2019中文字幕第三页视频| 精品久久一二三区| 亚洲精品成人电影| www.黄色av| 亚洲精品日韩丝袜精品| 日本一卡二卡四卡精品|