後記花了1天時間學了shell語法,順手記錄下幾個注意點,忘的時候,可以快速回憶起來
這是個弱語言,部分語法跟php類似,可模擬記憶
參考菜鳥教程
注:這份教程,講的不是很細,很多注意點沒拎出來說,直接貼出來了**,不太容易get到易錯點的
但是對於新手系統的初步了解shell語法是夠的,但是一定要邊看邊動手敲(只看是不行的)
如果深入就再找別的文件補充學習
環境:win7主機 vb虛擬機器 ubuntu映象
編輯器:vim (vi的「公升級版」)
vim安裝命令:sudo apt-get install vim-gtk
vim使用和配置,自行了解
按照菜鳥教程的學習順序,進行總結記錄
基礎介紹(命令 執行)
demo:
檔案格式:第一行是固定的#! /bin/bash開頭
#! /bin/bash
# 下面寫**塊,井號是單行注釋,補充多行注釋語法 :《自定義變數 中間**模組 自定義變數
# 例子:
# :<# **
# sxx
echo
"hello world !"
變數(變數、字串、陣列)
—》程式設計的核心,程式 = 資料(變數)+資料處理(函式)
變數:這裡跟php有點像用美元符號$,但是定義時候不用,讀取時候用
基本操作
定義變數: 等號左右不能有空格
增(定義):age=18
刪:unset age
改:age=20
# 查詢一定要用美元符號,規範的寫法是"$"
查:$age 、$ 、"$"
型別,自行了解
字串
定義:類似php,記住單引號(原樣輸出)和雙引號(解析變數)區別
使用場景:
陣列
定義:陣列名=(值1 值2 … 值n),如:arr=(a b d)
讀取:陣列名
[下標]
,如
:,如:
陣列名[下標
],如:
長度:獲取陣列長度的方法與獲取字串長度的方法相同,如:$ 或者 $
引數傳遞
記住幾個特殊的用法:$#、$*、$@、$? 、 $n,n最大是9
這裡不太會
運算子分類(5種):算數運算子、關係運算子、布林運算子、字串運算子、檔案測試運算子
注意:算術運算子:+ - * / %,$((表示式))
條件表示式,必須放中括號裡面,前後空格 ,如:[ $a == $b ]
比較運算:0是真,1是假
其餘幾種,直接看文件
命令(echo、printf、test)
說明:shell中的 test 命令用於檢查某個條件是否成立,它可以進行數值、字元和檔案三個方面的測試。
一般結合運算子使用
流程控制
迴圈:for 、while
判斷:if(3種)::if,if else ,if elseif、case(2種)::數值、區間
注意case語法:case … esac,注意每個 case 分支用右圓括號開始,用兩個分號 ;;
具體看文件
函式弱語言,定義和呼叫比較特殊,和很多語言不太一樣,需要注意一下
定義
demo()或者
funciton demo(
)呼叫:demo 或者 demo 123
初學shell,關於空格
初學shell條件判斷語句 時,發現總出現錯誤,經過仔細檢視,發現了 前後都有空格的。往回看了看,發現賦值跟比較語句也是有這個空格的區別的,遂在網上搜了搜,看是否哪些命令有空格的區別,摘錄如下 1 定義變數時,號的兩邊不可以留空格 eg gender femal right gender femal...
Shell 指令碼初學
其實這個是因為伺服器卡不夠用,為了充分占用一塊卡的資源,需要寫個shell指令碼幫忙執行網路 shell是一種指令碼語言 區別於編譯語言 在unix上基本都通用。在我看來,這個指令碼主要並不是用來計算,而是用來管理打雜的。第乙個程式,還是輸出hello world吧。首先建立乙個指令碼檔案 vim ...
初學shell命令(1)
使用變數 首先顯示訊息,最基本的echo命令,echo後面的字串會直接顯示控制台顯示器上。echo this is shell 看個人習慣吧,單引號,雙引號都可以,不加也可以。如果字串中含有單引號或者雙引號,就用另一種將字串劃定起來,這邊的變數可以是環境變數也可以是使用者變數。環境變數 echo h...