欧美阿v视频在线大全_亚洲欧美中文日韩V在线观看_www性欧美日韩欧美91_亚洲欧美日韩久久精品

主頁 > 知識庫 > Shell常見知識 方便想學習linux shell的彭玉

Shell常見知識 方便想學習linux shell的彭玉

熱門標簽:電話機器人每天搜索多少次 外呼系統一天耗費多少流量 陜西便宜電銷機器人軟件 衡水外呼線路解決 艾比利外呼系統 杞縣地圖標注app 海口智能語音電銷機器人好用嗎 昆明電話外呼系統好么 免費門店地圖標注注冊入駐

Shell常見知識

一、用戶登陸進入系統后的系統環境變量

$HOME 使用者自己的目錄
$PATH 執行命令時所搜尋的目錄
$TZ 時區
$MAILCHECK 每隔多少秒檢查是否有新的信件
$PS1 在命令列時的提示號
$PS2 當命令尚未打完時,Shell 要求再輸入時的提示號
$MANPATH man 指令的搜尋路徑

二、特殊變量

$0 這個程序的執行名字
$n 這個程序的第n個參數值,n=1..9
$* 這個程序的所有參數
$# 這個程序的參數個數
$$ 這個程序的PID
$! 執行上一個指令的PID
$? 執行上一個指令的返回值

三、shell中的變元

* 任意字符串
? 一個任意字符
[abc] a, b, c三者中之一
[a-n] 從a到n的任一字符

四、幾個特殊字符表示

\b 退回
\c 打印一行時沒有換行符 這個我們經常會用到
\f 換頁
\r 回車
\t 制表
\v 垂直制表
\\ 反斜線本身

五、判斷文件的屬性

格式:-操作符 filename
-e 文件存在返回1, 否則返回0
-r 文件可讀返回1,否則返回0
-w 文件可寫返回1,否則返回0
-x 文件可執行返回1,否則返回0
-o 文件屬于用戶本人返回1, 否則返回0
-z 文件長度為0返回1, 否則返回0.
-f 文件為普通文件返回1, 否則返回0
-d 文件為目錄文件時返回1, 否則返回0

六、測試字符串

字符串1 = 字符串2 當兩個字串相等時為真
字符串1 != 字符串2 當兩個字串不等時為真
-n 字符串    當字符串的長度大于0時為真
-z 字符串  當字符串的長度為0時為真
字符串 當串字符串為非空時為真

七、測試兩個整數關系

數字1 -eq 數字2 兩數相等為真
數字1 -ne 數字2 兩數不等為真
數字1 -gt 數字2 數字1大于數字2為真
數字1 -ge 數字2 數字1大于等于數字2為真
數字1 -lt 數字2 數字1小于數字2為真
數字1 -le 數字2 數字1小于等于數字2為真

八、邏輯測試

-a  與
-o  或
!    非
shell中的特殊字符有
1、$ 美元符
2、\ 反斜杠
3、` 反引號
4、" 雙引號
5、,*,?,[,]

下面我一一舉列說明

一、$符號
1、echo $? 顯示的是上一條指令退出狀態
2、echo "$?" 效果同上
3、echo '$?' 顯示的是$?
4、echo \$? 顯示的是$?
5、echo "\$?" 顯示的是$?
大家可能已經看出 $符號在雙引號中具有特殊意義 雙引號對$符號不起作用而單引號可以將特殊字符的的特殊意義屏蔽掉,使其能顯示為字符本身,反斜杠也可以將特殊字符的特殊含義屏蔽掉,使特殊字符失去特殊含義。

二、\ 反斜杠

反斜杠的作用是將特殊符號字符的特殊含義屏蔽掉,使其還是原字符
A=1234
echo \$A 顯示為$A 如果不加\將顯示為1234
echo \` 顯示為`
echo \" 顯示為雙引號
echo \\ 顯示為\

三、` 反引號

反引號的功能是命令替換,將反引號中的字符串做為命令來執行,我們在用shell編程時經常用的到 將系統命令的執行結果賦給一個變量
A=`date`
echo $A 顯示的不是date而是當時的時間串
比如有一文件A的內容如下 
ABCDEFG
1234456
abcdefg
B=`cat A|grep 234` #
檢索文件A中含有字符串234的行
echo $B 將顯示為1234456
echo "$B" 將顯示為什么?
echo "\$B" 將顯示為什么?讀者自己試試

四、"雙引號

在系統中有些特殊字符,為避免引用這些特殊字符 往往用雙引號或單引號將這些特殊字符引起來,使其不具有特殊含義。
但有一部分特殊字符在引號中還是具有特殊含義,用雙引號引起來是不起作用的。本文中所列的前四個特殊字符在雙引號中還是特殊字符。為了使其不具有特殊含義一是用單引號引進來二是用\反斜線使其失去作用。
比如我們想原樣輸出這些特殊字符
echo """
echo "$"
echo "\"
echo "`"
以上不是你所期望的結果,因為雙引號對它們不起作用,你只能這樣才能輸出這些特殊字符的原形
echo '"'
echo '$'
echo '\'
echo '`'

echo "\""
echo "\$"
echo "\\"
echo "\`"
將分別顯示為 " $ \ `

五、其它特殊字符

大家注意到,除了前四個特殊字符外,我將其它的特殊字符都放在一塊,這是因為前四個特殊字符在雙引號中還是具有特殊含義,所以單獨拿出來講,除此以外的特殊字符如果你要輸出這些特殊字符的原形,你就可以用雙引號或單引號引起來使其失去特殊含義。
,*,?,[,]對shell有特殊含義 但你可以用雙引號引起來輸入這些原形
一、if
條件語句 
格式:
if 條件表達式
then #當條件為真時執行以下語句
命令列表
else #為假時執行以下語句
命令列表
fi
if 語句也可以嵌套使用
if
條件表達式1
then
if 條件表達式2
then
命令列表
else
if 條件表達式3
then
命令列表
else
命令列表
fi
fi
else
命令列表
fi
你可以進行多層嵌套 一個if語句一定要跟一個fi 表示該層條件結束否則會造成語法錯誤結合前面講的 舉例如下:
這里先講一個條件語句中用到的命令test 表示測試test后面的條件是否為真
if test -f "$1"
then
lpr $1
else
if test -d "$1"
then
cd $1
lpr $1
else
echo "$1不是文件或目錄"
fi
fi
以上的例子還可以改成如下所示
if test -f "$1"
then
lpr $1
elif test -d "$1" #elif 同else if
then
(cd
$1;lpr $1)
else
echo "$1不是文件或目錄"
fi
以上的例子不知您是否看懂是什么意思嗎?
假如我們現在將這個例子保存為prfile
chmod +x prfile
執行剛才的程序
./prfile aaa
這個例子是檢查你的輸入的參數是否是一個文件 如果是就打印 如果是一個目錄 先轉目錄再打印 如果即不是文件也不是目錄給出提示
二、多重條件測試語句case
格式:
case 字串 in
模式) 命令列表;;
模式) 命令列表;;
....
esac
多重條件語句是以case
開始以esac結束 中間可以有多個條件列表 功能是測試字串和和里面的模式有沒有匹配的,有就執行里面的命令列表 模式也可以是*號 表示任意字串,每個模式里面的最后要心;;雙引號結束,否則會發生語法錯誤。
現舉例如下:
case $1 in
*.c)
cc $1

*.txt)
lpr $1

*)
echo "未知的類型"
esac
假如將以上內容保存在文件abc中
chmod +x abc
執行 ./abc a.c
將會對文件a.c進行編譯
執行 ./abc readme.txt 將會把文件通過打印機
假如我將以上內容改一下,你是否會知道它的執行結果?
case $1 in
*)
cc $1

*.txt)
lpr $1

*.c)
echo
"未知的類型"
esac
一. while 循環
while 命令格式
while 條件表
do
命令表
done
執行過程
Shell首先執行條件表,如果條件表的最后一條語句的退出狀態為零,則執行盾環體內的命令表,執行完后,再檢查條件表,如果退出狀態為零將繼續執行,如此循環往復直到條件表的最后一條語句的退出狀態非零.
退出狀態為零就是條件為真True.
舉例說明 假如shell文件的內容如下:
Sum=0
i=0
while true #true是系統的關鍵詞 表示真
do
i=`expr $i + 1`
Sum=`expr $Sum + $i`
if [ $i = "100" ]
then
break;
fi
done
echo $i $Sum
最后這個程序顯示的是
100 5050
這個程序的運算就是將1到100加起來
下面將這個程序再改動一下
Sum=0
i=0
while [ $i != "100" ]
do
i=`expr $i + 1`
Sum=`expr $Sum + $i`
done
echo $i $Sum
改動后的程序運算結果和上面是一樣 但程序比上面的要簡練
在這個循環中還可以以until做為測試條件
它正好與while測試的條件相反,也就是當條件為假時將繼續執行循環體內的語句,否則就退出循環體,下面還用這個例子.
Sum=0
i=0
until [ $i = "100" ]
do
i=`expr $i + 1`
Sum=`expr $Sum + $i`
done
echo $i $Sum
當i不等于100時循環 就是當條件為假時循環,否則就退出,而第一個例子是當i不等于100
時循環,也就是測試條件為真時循環.
二.for 循環
命令格式:
for 變量 in 名字列表
do
命令列表
done
這里的名字列表是一個由空格分隔的字符串列表,shell在執行for循環時每次依次從名字表中取出一個字符串賦給循環變量作為變量的值.
在寫for語句時,也可以省略in 名字列表部分,這表示用當前的位置參數來代替這時的名字列表.
面舉個例子,比如在你的電腦中有兩個目錄,一個是aa,一個是bb在這兩個目錄中有5個相同的文件,但其中一個目錄中的一個或多個文件剛剛修改過,現在我忘記剛才改的是那幾個文件
了,那么我靠已知的序碼查找。
程序如下:
for File in a1 a2 a3 a4 a5
do
diff aa/$File bb/$File
done
下面再舉一個不帶名字列表的例子
for
File
do
echo $Filw
done
文件內容保存在a.sh中 并可執行
我們在執行這個shell程序時命令行如下:
a.sh a1 a2 a3 a4 a5
執行結果如下:
a1
a2
a3
a4
a5
大家從這個例子中可以看到命令行的參數被逐一讀入一次
三.循環控制語句
break
命令不執行當前循環體內break下面的語句從當前循環退出.
continue
命令是程序在本循體內忽略下面的語句,從循環頭開始執行.

標簽:昌都 泰安 海口 宿遷 西寧 營口 南京 臨滄

巨人網絡通訊聲明:本文標題《Shell常見知識 方便想學習linux shell的彭玉》,本文關鍵詞  Shell,常見,知識,方便,想,;如發現本文內容存在版權問題,煩請提供相關信息告之我們,我們將及時溝通與處理。本站內容系統采集于網絡,涉及言論、版權與本站無關。
  • 相關文章
  • 下面列出與本文章《Shell常見知識 方便想學習linux shell的彭玉》相關的同類信息!
  • 本頁收集關于Shell常見知識 方便想學習linux shell的彭玉的相關信息資訊供網民參考!
  • 推薦文章
    欧美阿v视频在线大全_亚洲欧美中文日韩V在线观看_www性欧美日韩欧美91_亚洲欧美日韩久久精品
  • <rt id="w000q"><acronym id="w000q"></acronym></rt>
  • <abbr id="w000q"></abbr>
    <rt id="w000q"></rt>
    黄色激情在线观看| 在线不卡中文字幕| 久久久精品免费观看| 日韩成人免费电影| 国产精品日日摸夜夜爽| 欧洲一区在线观看| 亚洲精品国产精品乱码不99| 成人毛片视频在线观看| 强制高潮抽搐sm调教高h| 久久久综合网站| 国内欧美视频一区二区| 久久精品三级视频| 久久久99精品免费观看不卡| 久久超碰97中文字幕| 欧美日韩高清丝袜| 久久无码av三级| 国产精品18久久久久久久久| 亚洲a∨无码无在线观看| 国产三级一区二区| 国产 日韩 欧美大片| 国产十六处破外女视频| 亚洲欧美日本在线| 黑人无套内谢中国美女| 欧美日韩在线播放一区| 亚洲成av人片在线| 日韩网站在线播放| 久久久久久99久久久精品网站| 国产一区二区成人久久免费影院| 国产美女久久久久久| 亚洲欧美一区二区三区孕妇| 麻豆传媒在线看| 欧美一区二区视频在线观看2022| 蜜臀av性久久久久蜜臀aⅴ流畅| 亚欧洲乱码视频| 国产区在线观看成人精品| 成人免费毛片app| 在线观看日韩av先锋影音电影院| 香蕉加勒比综合久久| 大又大又粗又硬又爽少妇毛片 | 97在线观看视频免费| 国产精品成人在线观看| 国产精品99精品无码视亚| 日韩一区二区免费电影| 精品在线播放免费| 麻豆精品一区二区三区视频| 亚洲成av人综合在线观看| 永久免费av无码网站性色av| 国产精品白丝在线| 日本五十肥熟交尾| 国产午夜亚洲精品不卡| 91小视频在线| 欧美va天堂va视频va在线| 国产精品夜夜爽| 欧美三级视频在线播放| 美女精品自拍一二三四| 美女福利视频在线观看| 婷婷一区二区三区| 国产在线观看免费视频软件| 亚洲第一二三四区| 日韩av毛片在线观看| 亚洲五码中文字幕| 四虎成人免费影院| 亚洲综合免费观看高清在线观看| 久久精品国产亚洲av久| 亚洲美女少妇撒尿| 法国空姐电影在线观看| 亚洲激情一二三区| 国产精品白丝jk黑袜喷水| 欧美美女喷水视频| 国产91精品在线观看| 欧美一级视频精品观看| 成人h精品动漫一区二区三区| 这里是久久伊人| 99久久综合狠狠综合久久| 欧美变态凌虐bdsm| 韩国三级丰满少妇高潮| 久久精品一区四区| av免费观看不卡| 国产精品久久久久aaaa樱花| 蜜桃精品成人影片| 亚洲精品中文在线| a一级免费视频| 免费成人在线观看视频| 欧美在线观看视频一区二区 | 午夜久久久影院| 色综合网站在线| 久久99精品久久久久婷婷| 欧美色图一区二区三区| 成人手机电影网| 久久综合久久综合久久综合| 91传媒理伦片在线观看| 中文字幕一区二区日韩精品绯色| 国产精品高清无码在线观看| 亚洲高清中文字幕| 色吊一区二区三区| 国产精品白丝av| 亚洲精品在线电影| 丝袜熟女一区二区三区| 一区二区三区美女| 色综合天天综合狠狠| 国产凹凸在线观看一区二区 | 亚洲图片欧美另类| 亚洲欧美日韩电影| 亚洲色偷偷综合亚洲av伊人| 加勒比av一区二区| 欧美成人一区二区三区在线观看| 亚洲日本久久久| 一二三区精品福利视频| 538精品在线视频| 国产成人综合网站| 久久久久免费观看| 少妇人妻好深好紧精品无码| 免费高清视频精品| 日韩精品一区二区三区视频在线观看| 野战少妇38p| 亚洲国产欧美在线人成| 91国产免费看| 99riav一区二区三区| 精品一区二区视频在线观看| 亚洲香肠在线观看| 欧美日韩精品一区二区三区四区| www.一区二区| 亚洲欧美乱综合| 色94色欧美sute亚洲线路一久| 成人综合在线观看| 国产精品第一页第二页第三页| 日韩成人短视频| 成人aaaa免费全部观看| 椎名由奈av一区二区三区| 久久精品黄色片| 99riav久久精品riav| 一区二区在线看| 欧美三级一区二区| 日本国产在线视频| 日本免费新一区视频| 欧美xxxxxxxxx| 日韩毛片无码永久免费看| 国内精品在线播放| 欧美国产视频在线| 国语对白在线播放| 99久久er热在这里只有精品15 | 免费黄色片网站| 韩国精品免费视频| 亚洲国产精品99久久久久久久久 | 中文一区二区在线观看| 欧美做爰啪啪xxxⅹ性| 99视频有精品| 亚洲国产日产av| 日韩欧美成人一区| 婷婷丁香综合网| 国产电影一区在线| 亚洲免费在线电影| 欧美日韩精品一区二区天天拍小说 | 成人激情免费网站| 亚洲精品视频在线观看免费| 欧美精品乱码久久久久久按摩| 9.1成人看片| 国产精品66部| 一区二区三区日本| 日韩欧美一区在线| www成人啪啪18软件| av激情综合网| 无吗不卡中文字幕| 久久免费美女视频| 色婷婷综合五月| 大乳护士喂奶hd| 国产伦理精品不卡| 一区二区三区中文免费| 日韩视频一区二区三区| 国产精品麻豆一区| 中文字幕 欧美 日韩| 美国十次了思思久久精品导航| 国产精品色在线| 在线91免费看| 69夜色精品国产69乱| 国产人妖在线观看| 国产综合久久久久影院| 亚洲精品中文在线影院| 精品噜噜噜噜久久久久久久久试看| 一级片一级片一级片| 精品影片一区二区入口| 国产精品一区二区不卡| 亚洲一卡二卡三卡四卡五卡| 久久先锋影音av鲁色资源网| 欧美图区在线视频| 一本在线免费视频| 扒开伸进免费视频| 国产91精品在线观看| 日本亚洲电影天堂| 欧美一区二区三级| 色综合天天做天天爱| 丰腴饱满的极品熟妇| 91麻豆文化传媒在线观看| 紧缚奴在线一区二区三区| 亚洲线精品一区二区三区八戒| 国产亚洲欧美日韩俺去了| 欧美丰满少妇xxxbbb| 久久久久亚洲av片无码| jizz欧美性20| 无码人妻一区二区三区精品视频|