初學shell筆記

2021-10-05 22:41:38 字數 2029 閱讀 8833

後記花了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...