1. 程式人生 > 其它 >shell指令碼的入門基礎

shell指令碼的入門基礎

技術標籤:shelllinuxubuntu運維shell

一、hello world

按照國際慣例上來就應該是一個hello world走起

vi hello.sh

#!/bin/bash
echo "hello world"

程式寫好後需要對檔案的格式進行更改,使之變為可執行的狀態。使用命令chmod

chmod 755 hello.sh

檔案的狀態更改後就可以在當前的目錄下進行執行了

./hello.sh

shell語言和C語言類似,構成的語言的骨架都是迴圈分支與選擇語句。相對於面相物件的封裝繼承與多型還是要簡單的多的。

二、迴圈語句

迴圈語句就有for與wihle這哼哈二將。

for in迴圈

基本格式為

for var in queue
        do
        done

格式總是有點抽象,上程式

#!/bin/bash

for i in $(seq 1 10)
        do 
                echo $(expr $i + 1) #運算子需要用空格隔開喲
        done

檢視執行結果:

這裡seq用作shell指令碼中一個數列的功能,和Python的range的使用類似。

而expr做為運算的命令在這裡實現的是加法,既然說到了expr不如舉個栗子來看一哈!

首先:expr命令可以實現數值運算、數值或字串匹配、字串提取、字串長度計算等功能。它還具有幾個特殊功能,判斷變數或引數是否為整數、是否為空、是否為零。用於運算時,運算子與數字之間需要有空格。

expr基礎使用之四大運算方法

expr基礎使用之變數計算

有趣的預設設定,在不對變數i進行賦值的情況下,使用該語句也是成立的,但是i 的預設初值不同的環境下是不同的。

expr使用之你有多長

總之,expr就是用來計算各類值的。

for in示例

cat的作用在於檔案中的逐行讀取(cat位與in後用途)

小注意:在bash shell下,會將,空格、製表符、換行符這些當做欄位的分隔符。

如果shell在資料中看到這些字元中的任意一個,它就會假定這表明了列表中一個新資料字的開始。

while迴圈

三、選擇與分支語句

if

基本格式,書寫的時候先將格式框架寫好,在向其中填入程式碼語句,比較不容易出錯

if 判斷語句 1;then
    command
elif 判斷語句 2;then
    command
......
else 
    command
fi

case

基本格式:

case 變數 in

下班了,有時間再來