linux100day(day5)--编程原理和shell脚本
通過前面的學習,我們對于linux文件系統有了一定的了解,我們接下來會初步接觸編程原理和嘗試編寫shell腳本來實現功能。
day05--編程原理和shell腳本初步認識
編程原理
在早期編程中,因為要使不同廠家的硬件設備之間進行指令溝通,常常使用匯編語言來編寫程序。而現在編程基于高級語言和超高級語言,翻譯成計算機可讀的二進制指令,增強程序可讀性,使程序員更好的實現編程功能
編程語言分為解釋型和編譯型,
解釋型的特點是:逐行翻譯,逐行執行。 如shell python
編譯型的特點是:一次編譯,全部執行。 如c語言 C++
shell腳本語言介紹
shell腳本包括:1、命令2、變量3、邏輯關系
shell中定義腳本編輯器#!/bin/bash,這一句代碼是必寫的
使用bash命令來執行腳本
bash -n #查看shell腳本的邏輯錯誤 bash -x #逐行顯示執行的腳本程序或者先為腳本授以執行權限chmod +x 腳本名,再使用./腳本名就可以執行腳本
變量
環境變量 echo $PATH 顯示環境變量
局部變量 decclare 命令 定義變量類型
本地變量 local 在函數中使用
傳參
$? -- 上一條命令的執行狀態 0 正確 1-255 錯誤
$1 $2 ... ${10} -- 命令后面傳入腳本的數據,以空格為分隔符
$# -- 統計傳參數量 ${$#} ?
$* -- 表示所有的傳參,所有的傳參以字符串形式進行輸出
$@ -- 表示所有傳參,將所有的傳參以列表的形式進行輸出
【工作中要對所有的傳參進行操作的時候,就要考慮$*和$@】
test文件測試、條件判斷
在腳本中,我們需要進行 語句分支; 說白了,就要做判斷
判斷就是使用test命令來實現;
使用格式:
1、test [option] file
2、[ 條件語句 ]
常見的test選項:
比較選項:
-eq 等于
-ne 不等于
-gt 大于
-ge 大于等于
-lt 小于
-le 小于等于
判斷選項:
-f 判斷是否為普通文件
-d 判斷是否為目錄文件
-L 判斷是否為連接文件
-r -w -x 判斷文件是否具有 讀 寫 執行 權限
關聯選項:
-o 或
-a 與
! 非
字符串判斷:
= 判斷兩邊的字符串是否相同
!= 不等于
-z 判斷字符串是否存在
-n 和 -z 相反,存在為假,不存在為真
邏輯運算
與 && : 兩邊的命令,都為真,結果才是真
或 || : 兩邊的命令,一邊為真,就是真,同時為假,才是假
非 !=
這個邏輯運算符,前后對接的都是單獨存在的命令;
[ $? -eq 0 ] && exit 0 || exit 1
交互輸入
read 命令
read命令同時可以定義多個變量值,而輸入的內容默認以空格為分隔符,如果默認過多,最后所有的值都會被賦予給最后一個變量,如果默認值過少,多余的變量則為空值
read常用參數
read -p 請輸入一個目錄 read -t 定義超時時間?
轉載于:https://www.cnblogs.com/Y139147/p/11359308.html
總結
以上是生活随笔為你收集整理的linux100day(day5)--编程原理和shell脚本的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 开源GIS系统关系图
- 下一篇: linux100day(day6)--s