【转】shell学习笔记(一)——学习目的性、特殊字符、运算符等
shell簡(jiǎn)單、靈活、高效,特別適合處理一些系統(tǒng)管理方面的小問(wèn)題
shell可以實(shí)現(xiàn)自動(dòng)化管理,讓系統(tǒng)管理員的工作變得容易、簡(jiǎn)單、高效
shell腳本可移植性好,在unix/linux系統(tǒng)中可靈活移植,幾乎不用任何設(shè)置就能正常運(yùn)行
shell腳本可輕松方便讀取和修改源代碼,不需要編譯
掌握shell可以幫你解決一些故障問(wèn)題,比如腳本引起的故障問(wèn)題
掌握shell是一個(gè)中級(jí)以上系統(tǒng)工程師必需要會(huì)的
掌握shell是你系統(tǒng)管理進(jìn)階的必經(jīng)之路
掌握shell是你面試更高級(jí)職位的一塊敲門(mén)磚
2 那什么時(shí)候不使用Shell 腳本?
資源密集型的任務(wù),尤其在需要考慮效率時(shí)(比如排序,hash 等)
需要處理大任務(wù)的數(shù)學(xué)操作,尤其是浮點(diǎn)運(yùn)算,精確運(yùn)算,或者復(fù)雜的算術(shù)運(yùn)算(這種情況一般使用C++或FORTRAN 來(lái)處理)
有跨平臺(tái)移植需求(一般使用C 或Java)
復(fù)雜的應(yīng)用,在必須使用結(jié)構(gòu)化編程的時(shí)候(需要變量的類型檢查,函數(shù)原型,等等)
對(duì)于影響系統(tǒng)全局性的關(guān)鍵任務(wù)應(yīng)用。
對(duì)于安全有很高要求的任務(wù),比如你需要一個(gè)健壯的系統(tǒng)來(lái)防止入侵,破解,惡意破壞等等.
項(xiàng)目由連串的依賴的各個(gè)部分組成。
需要大規(guī)模的文件操作
需要多維數(shù)組的支持
需要數(shù)據(jù)結(jié)構(gòu)的支持,比如鏈表或數(shù)等數(shù)據(jù)結(jié)構(gòu)
需要產(chǎn)生或操作圖形化界面 GUI
需要直接操作系統(tǒng)硬件
需要 I/O 或socket 接口
需要使用庫(kù)或者遺留下來(lái)的老代碼的接口
私人的,閉源的應(yīng)用(shell 腳本把代碼就放在文本文件中,全世界都能看到)
?如果你的應(yīng)用符合上邊的任意一條,那么就考慮一下更強(qiáng)大的語(yǔ)言吧--或許是Perl,Python,Ruby, 或者是更高層次的編譯語(yǔ)言比如C/C++,Java.
3?shell里的特殊字符 和其他編程語(yǔ)言一樣,shell里也有特殊字符。常見(jiàn)的有美元符號(hào)($),反斜線(\)和引號(hào)。
1。美元符號(hào)
美元符號(hào)表示變量替換,即用其后面指定的變量的值來(lái)代替變量。反斜線“\”為轉(zhuǎn)義字符,轉(zhuǎn)義字符告訴shell不要對(duì)其后面的那個(gè)字符進(jìn)行特殊處理,只是當(dāng)做普通字符。而shell下的引號(hào)情況比較復(fù)雜,分為三種:雙引號(hào)("),單引號(hào)(')和倒引號(hào)(`)。他們的作用都不盡相同,以下一一說(shuō)明。
2。雙引號(hào)(")
由雙引號(hào)括起來(lái)的字符,除$,倒引號(hào)(`)和反斜線(\)仍保留其特殊功能外,其余字符均作為普通字符對(duì)待。
3。單引號(hào)(')
由單引號(hào)括起來(lái)的字符都作為普通字符出現(xiàn)。
4。倒引號(hào)(`)
由倒引號(hào)括起來(lái)的字符串被shell解釋為命令行,在執(zhí)行時(shí),shell會(huì)先執(zhí)行該命令,并以它的標(biāo)準(zhǔn)輸出結(jié)果取代整個(gè)引號(hào)部分。
示例1的代碼及輸出如下:
#echo "My current directory is `pwd` and logname is $LOGNAME"【雙引號(hào)中的倒引號(hào)和美元符號(hào)保持原來(lái)的功能】
My current directory is?/root?and logname is?root
?示例2的代碼及輸出如下:
#echo "My current directory is `pwd` and logname is \$LOGNAME"【雙引號(hào)中的轉(zhuǎn)義字符保持原來(lái)的功能】
My current directory is?/root?and logname is?$LOGNAME
示例3的代碼及輸出如下:
#echo 'My current directory is `pwd` and logname is $LOGNAME'【單引號(hào)里面的內(nèi)容不變】
My current directory is?`pwd`and logname is?$LOGNAME
4?shell腳本中運(yùn)算符
范例:
?
轉(zhuǎn)載于:https://www.cnblogs.com/xiongyunqi/p/3735813.html
總結(jié)
以上是生活随笔為你收集整理的【转】shell学习笔记(一)——学习目的性、特殊字符、运算符等的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: ubuntu上安装nodejs
- 下一篇: c# 扩展方法奇思妙用基础篇八:Dist