最近在學習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/bash# read from $
1 and write to $2
if [ $# -ne 2
]then
echo
"usage:$0 inputfile outputfile"fi
inputfile=$1
outputfile=$2
exec
6<&0
exec
<$inputfile
let count=0
while
read line
do((count++))
echo $line >>$outputfile
if [ $? -ne 0
]
then
echo
"error in writing to file $outputfile"fi
done
echo
"number of lines: $count
"echo
"done
"exec
0<&6
6<&-
部分語句解釋如下:
exec 6<&0 # 將檔案描述符6與stdin關聯
exec < $inputfile # 用inputfile替代stdin
exec 0<&6 6<&- # 從檔案描述符6中恢復stdin,並關閉檔案描述符6
參考:shell script examples
shell指令碼程式設計入門
運維工程師 shell指令碼程式設計 shell 命令解析器 用於訪問核心 作用 命令解析 呼叫相應功能 首行 usr bin sh 指定解析器 前為未指定解析器,使用預設解析器 用處 自動化運維 用乙個步驟代替別人的十幾個步驟 使用指令碼 實現自動化 機器代替自己來做一些操作 s 件中需要 注發布...
Shell指令碼程式設計入門(一)
最近在學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 ...
Shell指令碼程式設計學習入門
shell起源於unix,是unix和linux通訊的東西 使用者和核心之間的 叫做shell。shell除了能解釋使用者輸入的命令,把它傳遞給核心,還可以 1.呼叫其他程式,給其他程式傳遞資料或引數,並獲取程式的處理結果 2.在多個程式之間傳遞資料,把乙個程式的輸出作為另乙個程式的輸入 3.she...