一般編程步驟
現在我們來討論編寫一個腳本的一般步驟
cp framework
然後再插入自己的函數
讓我們再看兩個例子
二進制到十進制的轉換
腳本 b
復制代碼 代碼如下:
#!/bin/sh
# vim: set sw=
help()
{
cat < b
USAGE: b
OPTIONS:
EXAMPLE: b
will return
HELP
exit
}
error()
{
# print an error and exit
echo
exit
}
lastchar()
{
# return the last character of a string in $rval
if [
# empty string
rval=
return
fi
# wc puts some space behind the output this is why we need sed:
numofchar=`echo
# now cut out the last char
rval=`echo
}
chop()
{
# remove the last character in string and return it in $rval
if [
# empty string
rval=
return
fi
# wc puts some space behind the output this is why we need sed:
numofchar=`echo
if [
# only one char in string
rval=
return
fi
numofcharminus
# now cut all but the last char:
rval=`echo
}
while [
case $
*) break;;
esac
done
# The main program
sum=
weight=
# one arg must be given:
[
binnum=
binnumorig=
while [
lastchar
if [
sum=`expr
fi
# remove the last position in $binnum
chop
binnum=
weight=`expr
done
echo
#
該腳本使用的算法是利用十進制和二進制數權值 (
為了得到單個的二進制數我們是用了lastchar 函數
文件循環程序
或許您是想將所有發出的郵件保存到一個文件中的人們中的一員
復制代碼 代碼如下:
#!/bin/sh
# vim: set sw=
ver=
help()
{
cat < rotatefile
USAGE: rotatefile [
OPTIONS:
EXAMPLE: rotatefile out
This will e
and create an empty out
The max number is
version $ver
HELP
exit
}
error()
{
echo
exit
}
while [
case $
*) break;;
esac
done
# input check:
if [
error
fi
filen=
# rename any
for n in Array
if [
p=`expr $n +
echo
mv $filen
fi
done
# rename the original file:
if [
echo
mv $filen $filen
fi
echo touch $filen
touch $filen
這個腳本是如何工作的呢?在檢測用戶提供了一個文件名以後
調試
最簡單的調試命令當然是使用echo命令
shell也有一個真實的調試模式
sh
這將執行該腳本並顯示所有變量的值
shell還有一個不需要執行腳本只是檢查語法的模式
sh
這將返回所有語法錯誤
我們希望您現在可以開始寫您自己的shell腳本
From:http://tw.wingwit.com/Article/program/yxkf/201404/30420.html