可以使用任意一種文字編輯器,比如gedit、kedit、emacs、vi等來編寫shell指令碼,但是程式必須以下面的行開始
開頭:#!/bin/bash
#!符號用來告訴系統,它後面的引數是用來執行該檔案的程式,在這個例子中使用bash來執行程式。編輯完該檔案後,不能立即執行它,需要給檔案設定可執行程式許可權,使用如下命令:chmod +x filename
這樣才能用./filename來執行
(將檔案儲存為.s**件)
執行:(例如執行date)
方法1:./ date.sh
方法2 :bash date.sh
方法3:第一步 export path= /home/linux/shell:$path(將/home/linux/shell目錄新增到整個環境變數中,在任何目錄都能執行shell所編寫的程式)
第二步 ./ date.sh
注釋:#開頭表示本行注釋
變數:在shell中所有變數都由字串組成
(1)使用者自定義變數:首個字元必須為字母或是下劃線。中間不能有空格,可以使用下劃線,不能使用其他標點符號
(2)位置引數:由系統提供的引數稱為位置引數。位置引數的值可以用$n得到,n是乙個數字,如果為1,即$1。類似於c語言中的陣列,linux會把輸入的命令字串分段並給每段標號,標號從0開始,第0號為程式名字,從1開始就表示傳遞給程式的引數。
$0:程式的名字
$1:第乙個引數
(3)預定義變數:shell一開始就定義了變數,使用者只能根據shell的定義來使用這些變數,不能重定義它。
$#:包含命令列引數的個數
$@:包含所有命令列引數就是所有的引數。
$?:包含前乙個命令的退出狀態,正常退出返回0,反之非0
$*:包含所有命令列引數就是所有的引數。
$$:包含正在執行程序的id號
(4)環境變數:用於使用者程序之前必須用export命令匯出。
寫乙個最簡單shell指令碼過程:
shell程式和語句
乙個shell程式有零或多條shell語句構成。shell語句包括三類,說明性語句、功能性語句和結構性語句。
說明性語句:即注釋行。
功能性語句:賦值、運算、測試等。
結構性語句:主要根據程式的執行狀態、輸入資料、變數的取值、控制訊號以及執行時間等因素來控制程式的執行流程。
主要包括:條件測試語句、多路分支語句、迴圈語句、迴圈控制語句等。
shell函式
舉例:兩數相加的函式
fun1.sh內容:
Shell程式設計 shell特性
linux會預設記錄1000條歷史記錄,可通過 echo histsize 檢視,如果講histsize更改為2000,那麼會預設儲存2000條。1000條記錄儲存在家目錄的 bash history 中,僅當使用者正常退出當前shell時,當前shell中執行的命令才會儲存到 bash histo...
Shell程式設計 Shell函式
shell函式 1.將命令序列按格寫在一起 2.可方便重複使用命令序列 3.shell函式定義 function 函式名 4.呼叫函式的方法 函式名 引數1 引數2 5.shell函式應用示例 1 兩個數字求和 要求 通過sum 定義函式 兩個數求和 方法一 root localhost vim d...
Shell程式設計
1 建立指令碼 vi emacs等即可 bin sh 2 shell變數 對shell來講,所有的變數的取值都是乙個字串 shell是一種解釋性語言,變數無需事先定義 shell中的系統變數 程式命令列引數的數目 儲存前乙個命令的返回值 0 當前程式名 以 1 2 形式儲存所有輸入的命令列引數 以 ...