什麼是Shell腳本?
Shell腳本,就是利用Shell的命令解釋的功能,對一個純文本的文件進行解析,然後執行這些功能,也可以說Shell腳本就是一系列命令的集合,並且可以調用大量系統內部的功能來解釋執行程序。
獲取正在使用哪種Shell
Shell有很多種,因為解釋器不一樣,語法還是稍微有些差別。比較常見的解釋器有:csh,ksh,bash。很多系統默認的就是bash。
通過名為 "$$" 的特殊參數,表示當前你正在運行的 shell 實例的 PID。此參數是隻讀的,不能被修改:
$ ps-p $$
PID TTY TIME CMD
4158 pts/1 00:00:00 bash
上述命令可在所有可用的 shell 中工作。
使用 echo 命令可以查看你目前正在使用的 shell 的名稱:
$ echo $0
bash
最簡單的方法就是通過使用 shell 的特殊參數。
Shell的工作原理
Shell可以被稱作是腳本語言,因為它本身是不需要編譯的,而是通過解釋器解釋之後再編譯執行,和傳統語言相比多瞭解釋的過程所以效率會略差於傳統的直接編譯的語言。
最簡單的腳本:
#!/bin/bashecho "Hello World"
只需要打開文本編輯工具,編輯成以上的樣子,然後保存成test.sh
運行該腳本:
1. cd 到該目錄下2. chmod +x ./test.sh #給腳本權限3. ./test.sh #執行腳本
注意:一定要寫成 ./test.sh,而不是 test.sh,運行其它二進制的程序也一樣,直接寫 test.sh,linux 系統會去 PATH 裡尋找有沒有叫 test.sh 的,而只有 /bin, /sbin, /usr/bin,/usr/sbin 等在 PATH 裡,你的當前目錄通常不在 PATH 裡,所以寫成 test.sh 是會找不到命令的,要用 ./test.sh 告訴系統說,就在當前目錄找。
這樣我們便寫出來了第一個最簡單的腳本,下面我們可以嘗試著寫一些複雜的腳本。
Shell中的變量
myText="hello world"muNum=100
這裡面需要注意的就是,“=”前後不能有空格,命名規則就和其它語言一樣了。
訪問變量
myText="hello world"muNum=100echo $myTextecho muNum
注意:當想要訪問變量的時候,需要使用$,否則輸出的將是純文本內容。
變量名和等號之間不能有空格,這可能和你熟悉的所有編程語言都不一樣。同時,變量名的命名須遵循如下規則:
首個字符必須為字母(a-z,A-Z)。
中間不能有空格,可以使用下劃線(_)。
不能使用標點符號。
不能使用bash裡的關鍵字(可用help命令查看保留關鍵字)。
Shell應用場景
Shell能做什麼
將一些複雜的命令簡單化
可以寫一些腳本自動實現一個工程中自動更換最新的sdk(庫)
自動打包、編譯、發佈等功能
清理磁盤中空文件夾
總之一切有規律的活腳本都可以嘗試一下
Shell不能做什麼
需要精密的運算的時候
需要語言效率很高的時候
需要一些網絡操作的時候
總之Shell就是可以快速開發一個腳本簡化開發流程,並不可以用來替代高級語言
本次先講這些,接下來將會更多精彩。
我們可以為您提供網絡搭建、APP開發、IT技術諮詢、軟件開發、淘寶美工、平面設計等服務,歡迎諮詢!