@ "TOC" shell編程的建立 就建立了一個名叫mytest的文件 vim編輯器沒有接觸過,你就需要學習一下啊,這裡介紹幾個簡單的命令: 單點I進入插入模式 Ctrl+c退出插入模式 在瀏覽模式按下“:”,再輸入q是不保存退出、wq是保存並退出 shell的hello world! 執行腳本的 ...
目錄
@(Shell編程)
shell編程的建立
[root@localhost ~]# vi mytest
就建立了一個名叫mytest的文件
vim編輯器沒有接觸過,你就需要學習一下啊,這裡介紹幾個簡單的命令:
- 單點I進入插入模式
- Ctrl+c退出插入模式
- 在瀏覽模式按下“:”,再輸入q是不保存退出、wq是保存並退出
shell的hello world!
echo 你想要輸出的內容
執行腳本的方法:
sh 你創建的shell腳本的名字
bash 你創建的shell腳本的名字
==打開一個子shell去讀取,不需要有執行許可權==
或者
source 你創建的shell腳本的名字
==區別:在當前shell內執行、且不需要有執行許可權,source可以替換成.==
. 你創建的shell腳本的名字
或者
./你創建的shell腳本的名字
==打開一個子shell,但是需要有執行許可權==
Shell的環境變數
相當於window系統下的環境變數
|環境變數|說明|
|:---:|:---:|
|PATH|指定命令的搜索路徑,以冒號為分隔符
|HOME|指定用戶的主工作目錄
|HISTSIZE|命令歷史文件
|LOGNAME|當前的登錄名
|HOSTNAME|主機的名稱
|SHELL|shell的全路徑名
|TERM|用戶控制終端的類型
|PWD|當前工作目錄的全稱
|PS1|命令基本提示符,root用戶是“#”,對於普通用戶是“"$"
環境變數一般都大寫,系統啟動以後自動載入,可寫的環境變數用戶可以隨時修改
使用和設置環境變數
|命令|說明|
|:---:|:---:|
|echo|顯示某個環境變數值
|export|設置一個新的環境變數
|env|顯示所有環境變數
|set|顯示本地定義的Shell變數
|unset|消除環境變數
|readonly|設置只讀環境變數
如圖設置PI環境變數為3.1415926
env命令查看
Shell的系統變數
Shell的系統變數主要在對參數和命令返回值進行判斷時使用,包括腳本和函數的參數,以及腳本和函數的返回值。
常用系統變數
|系統變數|說明|
|:---:|:---:|
|$0|Shell程式名
|$1-$9|第1~9個命令行參數的值
|$*|傳遞給腳本的所有參數,全部參數合為一個字元串
|$ #|傳遞給腳本的參數個數
|$ $|當前進程的ID
|$ ?|最後執行一條命令的退出狀態,返回值為0則成功,非0則失敗
|$ !|在後臺運行最後一個進程的ID
命令行參數的個數大於9的個時,可以使用shift指令將參數左移,獲取第10個以後的參數。也可以用shift n將所有參數一次性左移n位
用戶自定義變數
用戶自定義變數在Shell腳本中使用,他們擁有臨時的存儲空間。在程式執行中值可以改變,這些變數可以設置為只讀。
在程式中使用變數值的時候,要在變數名前面加一個字元“$"。這個符號告訴Shell要取出變數的值(”==“兩邊不能有空格)
上圖輸出加了$的值為這個變數的值,不加就直接輸出了字元串
==當複製給變數含有空格、製表符、或者換行符時,要用雙引號把這個字元串引起來==
當然賦值也可以像下圖所示: