shell指令碼基礎
1.什麼是shell指令碼
將平時使用的linux命令按順序儲存到一個文字檔案中,然後新增執行許可權,這個檔案就成為一個shell指令碼了。
2.shell有哪些, cat /etc/shells , 可以檢視shell的型別
/bin/sh //已經被/bin/bash 所替代
/bin/bash //就是Linux預設的shell
/sbin/nologin //特殊shell
/bin/tcsh //整合C shell,提供更多的功能
/bin/csh //已經被/bin/tcsh 所替代
哪些使用者登入可以使用哪些shell的資訊在/etc/passwd裡面記錄,cat /etc/passwd 查詢
3.預設shell,bash shell 的功能
- 1.命令記錄能力
- 2.命令與檔案補全功能
- 3.命令別名設定功能(alias)
- 4.作業控制,前臺,後臺控制(job control,foreground,background)
- 5.程式指令碼(shell script)
- 6.萬用字元
4.bash shell 的內建命令:type(可以檢視其他命令是不是bash 內建的命令)
格式:type [-tpa] name
例如:type ls
5.新建shell指令碼
- 新建一個檔案
vim first.sh 或 touch first.sh
- 檔案中輸入
#!/bin/bash 指令碼宣告,表示以/bin/bash 程式來解釋執行
#This is my first shell-script #後面跟註釋內容
cd /boot
echo "當前的目錄位於:" echo顯示註釋內容,雙引號“”中顯示回顯的內容,echo可以使指令碼更容易讀懂
pwd
echo "其中以vml開頭的檔案包括:"
ls -lh vml*
儲存退出:wq
6.執行shell 指令碼
1). 給予執行許可權:chmod +x first.sh 一般指令碼都要給予執行許可權
執行:./first.sh ./與檔名之間沒有空格間隔,挨著的啊
通過./直接執行的指令碼都要有x執行許可權,有些系統出於安全考慮無法給予x許可權,此時就要通過其他方式執行指令碼
2). 指定某個shell來解釋指令碼語句
例如:bash first.sh
3). 通過內部命令Source(或者 . )來載入檔案中的原始碼執行。
例如:. first.sh
linux系統中擁有大量的指令碼,如/etc/init.d 目錄下就有大量的指令碼,可以作為參考,但儘量少動壞了就完了。