Shell指令碼程式設計入門(一)

2021-07-03 17:27:16 字數 2106 閱讀 9833

最近在學shell,記錄一下。

if語句的使用:

1.判斷兩個引數大小

#!/bin/sh

#a test about if statement

a=10

b=20

if [ $a

-eq$b ];then

echo

"parameter a is equal to parameter b"

elif [ $a -le $b ];then

echo

"parameter a is less than parameter b"

elif [ $a

-gt$b ];then

echo

"parameter a is greater than parameter b"

else

echo

"i don't know the result!"

fi

2.執行指令碼時動態傳遞引數

$1、$2、$3...分別代表接收到的引數

$0 表示程式的名稱

$# 傳遞給程式的總的引數數目  

$? 上乙個**或者shell程式在shell中退出的情況,如果正常退出則返回0,反之為非0值

$* 傳遞給程式的所有引數組成的字串

$@ 以"引數1"

"引數2"

... 形式儲存所有引數   

$$ 本程式的(程序id號)pid   

$! 上乙個命令的pid

指令碼

#!/bin/sh

#a test about if statement

a=$1

b=$2

if [ $a

-eq$b ];then

echo

"parameter a is equal to parameter b"

elif [ $a -le $b ];then

echo

"parameter a is less than parameter b"

elif [ $a

-gt$b ];then

echo

"parameter a is greater than parameter b"

else

echo

"i don't know the result!"

fi

3.for迴圈的使用

#!/bin/bash

#a test about for and while statement

for i in

doecho

"hello world"

$idone

注意:這裡sh不支援這種寫法,要用bash來執行

sh支援這種寫法:

#!/bin/sh

#a test about for and while statement

for i in12

345do

echo

"hello world"

$idone

4.在/root/test/test2資料夾中建立100資料夾,名稱為test1~test100

5.編寫乘法表,根據輸入引數來輸出某個數的乘法表

#!/bin/bash

for((i=1;i<=$1;i++));j++))*$))

echo

-ne$*$=$ret

"\t"

}echo

}

注意:引數中的-n表示輸出後不換行,e表示支援轉義字元

shell指令碼程式設計入門

運維工程師 shell指令碼程式設計 shell 命令解析器 用於訪問核心 作用 命令解析 呼叫相應功能 首行 usr bin sh 指定解析器 前為未指定解析器,使用預設解析器 用處 自動化運維 用乙個步驟代替別人的十幾個步驟 使用指令碼 實現自動化 機器代替自己來做一些操作 s 件中需要 注發布...

Shell指令碼程式設計入門

最近在學習shell指令碼,兩個地方值得注意。1.shell中的運算 a 7b 8 let c a b c a b c a b c expr a b 等價於 參考 03 linux shell 變數 數學 運算 2.shell中的exec和重定向 我寫了乙個簡單的指令碼copy.sh,如下 bin ...

Shell指令碼程式設計學習入門

shell起源於unix,是unix和linux通訊的東西 使用者和核心之間的 叫做shell。shell除了能解釋使用者輸入的命令,把它傳遞給核心,還可以 1.呼叫其他程式,給其他程式傳遞資料或引數,並獲取程式的處理結果 2.在多個程式之間傳遞資料,把乙個程式的輸出作為另乙個程式的輸入 3.she...