shell教程

shell是一個用C語言編寫的程序,是一種命令語言,是一種服務器語言。

變量

  • 定義:name="shangsan"
  • 銷毀:unset name
  • 打?。篹cho $name 或者 echo ${name}
  • 定義常量:readonly Pi=3.14

定義變量的時候,“=”兩邊不能有空格;變量被銷毀后不能再使用。

注意:
在shell中,加單引號的字符不會被解析;
加雙引號的字符,特殊符號不會被解析,如:$,\;
使用反引號,會作為命令使用。

變量分類

  • 本地變量
    腳本文件中的變量。
  • 環(huán)境變量
    整個系統(tǒng)都可以使用的變量。
    a. 家目錄下的隱藏文件.bashrc
    b.將export PATH=$PATH:腳本的路徑
    c.source ~/.profile 讓所有文件生效
  • 位置變量
    $0:表示腳本名字
    $1~9:傳遞給腳本的參數
    $*:匹配到的所有參數
  • 特殊變量
    $#:傳遞給腳本的參數個數
    $?:返回上次執(zhí)行命令的結果,0表示成功,其他表示錯誤

數值計算

a=1
let a+=1
#((a+=1))
echo $a

分支語句、循環(huán)

  • 比較符號
    -lt 小于
    -le 小于等于
    -gt 大于
    -ge 大于等于
    -eq 等于
    -ne 不等于
if [ 1 -lt 3 -a 2 -lt 3 ];then
    echo "ok"
fi

if [ 1 -lt 3 ] && [ 2 -lt 3 ];then
    echo "ok2"
fi

if [ ! 1 -gt 3 ];then
    echo "ok3"
fi
  • 邏輯符號
    -a 邏輯與,可以使用&&
    -o 邏輯或,可以使用||
    ! 邏輯非
##分支1
if [ 1 -lt 2 ];then
    echo "ok"
fi

if test 1 -lt 2;then
    echo "ok"
fi

##分支2
if [ 1 -gt 2 ];then
    echo 1
elif [ 3 -gt 2 ];then
    echo 2
else
    echo 3
fi

##分支3
read  -p "please input a character:" ch

case $ch in
    [a-z])
        echo "xxx"
    ;;
    [0-9])
        echo "number"
    ;;
    *)
        echo "other"
    ;;
esac

if語句中,若使用[],則必須要注意“[“右邊加一個空格,“]”左邊加一個空格

a=(1 2 3)
#for x in ${a[*]}    #寫法1

#for x in 1 2 3     #寫法2

#for x in /etc/*     #寫法3

for x in {1..5}       #寫法4

do
    echo $x
done

總結:shell也是一門語言,一些語句的寫法與用法大都與Python大同小異。學習一門語言之前,先要從掌握基礎開始,此次就是多練習,才算是入門。

?著作權歸作者所有,轉載或內容合作請聯系作者
【社區(qū)內容提示】社區(qū)部分內容疑似由AI輔助生成,瀏覽時請結合常識與多方信息審慎甄別。
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發(fā)布,文章內容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

相關閱讀更多精彩內容

  • 官網 中文版本 好的網站 Content-type: text/htmlBASH Section: User ...
    不排版閱讀 4,727評論 0 5
  • 一、Python簡介和環(huán)境搭建以及pip的安裝 4課時實驗課主要內容 【Python簡介】: Python 是一個...
    _小老虎_閱讀 6,353評論 0 10
  • Shell入門 什么是shell? Shell其實是一個命令解釋器,作用是解釋執(zhí)行用戶輸入的命令以及程序等,用戶每...
    酷酷的偉閱讀 500評論 0 1
  • 第 2 章 SHELL 基礎知識2.1 shell腳本我們在上面簡單介紹了一下什么是shell腳本,現在我們來進一...
    LiWei_9e4b閱讀 1,652評論 0 0
  • 定義變量 變量名和等號之間不能有空格### varName="value" 使用變量:$+變量名echo $var...
    ClarkWang_001閱讀 671評論 0 1

友情鏈接更多精彩內容