@(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要取出變量的值(”==“兩邊不能有空格)
上圖輸出加了$的值爲這個變量的值,不加就直接輸出了字符串
==當複製給變量含有空格、製表符、或者換行符時,要用雙引號把這個字符串引起來==
當然賦值也可以像下圖所示: