最近在學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...