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