1. 程式人生 > >shell指令碼基礎

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 目錄下就有大量的指令碼,可以作為參考,但儘量少動壞了就完了。