這篇文章將為大家詳細講解有關(guān)linux中常用腳本和函數(shù)的示例分析,小編覺得挺實用的,因此分享給大家做個參考,希望大家閱讀完這篇文章后可以有所收獲。
創(chuàng)新互聯(lián)建站長期為千余家客戶提供的網(wǎng)站建設(shè)服務(wù),團隊從業(yè)經(jīng)驗10年,關(guān)注不同地域、不同群體,并針對不同對象提供差異化的產(chǎn)品和服務(wù);打造開放共贏平臺,與合作伙伴共同營造健康的互聯(lián)網(wǎng)生態(tài)環(huán)境。為江永企業(yè)提供專業(yè)的成都網(wǎng)站設(shè)計、成都網(wǎng)站建設(shè)、外貿(mào)網(wǎng)站建設(shè),江永網(wǎng)站改版等技術(shù)服務(wù)。擁有10余年豐富建站經(jīng)驗和眾多成功案例,為您定制開發(fā)。#查找當前目錄中是否存在指定目錄,若不存在,則創(chuàng)建之
代碼如下:
function mkdir_1
{
if test ! -d $1
then
mkdir $1
fi
}
#指定文件中的"prefix = .*"串替換為"prefix=/home/gnome-unicore-install2/usr/"
#可以用來作為sed用法的參考
代碼如下:
function modify_prefix
{
chmod +w $1
cp $1 $1.bak
sed 's/prefix = .*/prefix=/home/gnome-unicore-install2/usr/g' $1.bak > $1
rm $1.bak
}
#指定文件中的"^LDFLAGS =.*"串替換為"LDFLAGS = -rdynamic -lgdk_pixbuf -lgtk -lgdk -lgmodule -lglib -ldl -lXext -lX11 -lm"
代碼如下:
#change_gnome-config FILENAME
function change_gnome-config
{
cp $1 $1.bak
sed 's/^LDFLAGS =.*/LDFLAGS = -rdynamic -lgdk_pixbuf -lgtk -lgdk -lgmodule -lglib -ldl -lXext -lX11 -lm /g' $1.bak> $1
rm $1.bak
}
#刪除指定文件的含有指定字符的行
#格式:delete_line filename "word_contain"
代碼如下:
function delete_line
{
chmod +w $1
cp $1 $1.bak
cat $1.bak | grep -v -e "$2" >$1
}
#用途:刪除文件中包含line1或(和?)line2的行
#格式:delete_line filename line1 line2
代碼如下:
function delete_line_no
{
chmod +w $1
cp $1 $1.bak
sed $2,$3'd' $1.bak>$1
rm $1.bak
}
#用途:在LINE_NO指定的行插入字符串CONTENT
#可以用來作為sed用法的參考
#格式: add_line FILENAME LINE_NO CONTENT
代碼如下:
function add_line
{
chmod +w $1
cp $1 $1.bak
sed -e $2 'i' "$3" '' $1.bak > $1
rm $1.bak
}
#用途:檢查含有"PC24"代碼的程序并打印出來
#格式: check_PC24 //after installation
代碼如下:
function check_PC24
{
echo "now comes the PC24 checking..."
. $COMMAND_UNICORE/shell/shell_PC24 >& /dev/null
if test -s $COMMAND_UNICORE/PC24_result
then :
echo "The following file contains PC24 problems: $COMMAND_UNICORE/PC24_result "
else
echo "No PC24 problem found"
fi
}
#打印標題
代碼如下:
displayheader() {
echo " *****************************************"
echo " * IeeeCC754 testing tool *"
echo " *****************************************"
echo " "
}
#打印一個菜單的做法
代碼如下:
displayplatformmenu() {
#clear the screen
clear
displayheader
echo " a) SunSparc "
echo " b) IntelPentium "
echo " c) AMD "
echo " d) Unicore32 "
echo " e) Unicore32(with FP2001) "
echo " "
echo -n " select a Platform > "
}
#接收一個菜單輸入
代碼如下:
displayplatformmenu
read answer
case ${answer} in
a) TARGET="BasicOp";;
b) TARGET="Conversion";;
*) badchoice;;
esac
#查找當前目錄下是否存在file_name文件
#可以用來作為if用法的參考
代碼如下:
detectfile_name() {
if [ ! -f file_name ]
then
echo "Error: file_name does not exist. Please check"
exit 1;
else
echo "OK,the directy is exist"
fi
}
#將參數(shù)指定的一個或多個目錄項以及其下的多級子目錄下的所有文件名和目錄名轉(zhuǎn)換為小寫。
代碼如下:
cvitem()
{
echo "mv $1 `dirname $1`/`basename $1 | tr
'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz'`"
}
[ $# = 0 ] && { echo "Usage: lcdir item1 item2 ..."; exit; }
for item in $* #可以用來作為for用法的參考
do
[ "`dirname $item`" != "`basename $item`" ] && {
[ -d $item ] &&
{
for subitem in `ls $item`
do
cvlc $item/$subitem
done
}
cvitem $item
}
done
#一個login的例子
代碼如下:
if ($?path) then
set path=($HOME/bin $path)
else
set path=($HOME/bin /usr/bin .)
endif
if ( ! $ {?DT} ); then
stty dec new
tset -I -Q
endif
set mail=/usr/spool/mail/$USER
#關(guān)于if使用的幾個例子
#執(zhí)行一個命令或程序之前,先檢查該命令是否存在,然後才執(zhí)行
代碼如下:
if [ -x /sbin/quotaon ] ; then
echo "Turning on Quota for root filesystem"
/sbin/quotaon /
fi
#得到Hostname
#!/bin/sh
代碼如下:
if [ -f /etc/HOSTNAME ] ; then
HOSTNAME=`cat /etc/HOSTNAME`
else
HOSTNAME=localhost
fi
#如果某個設(shè)定檔允許有好幾個位置的話,例如crontab,可利用if then elif fi來找尋
代碼如下:
if [ -f /etc/crontab ] ; then #[ -f /etc/crontab ]等價于test -f /etc/crontab
CRONTAB="/etc/crontab"
elif [ -f /var/spool/cron/crontabs/root ] ; then
CRONTAB="/var/spool/cron/crontabs/root"
elif [ -f /var/cron/tabs/root ] ; then
CRONTAB="/var/cron/tabs/root"
fi
export CRONTAB
#利用uname來判斷目前系統(tǒng),并分別做各系統(tǒng)狀況不同的事。
代碼如下:
SYSTEM=`uname -s`
if [ $SYSTEM = "Linux" ] ; then
echo "Linux"
elif [ $SYSTEM = "FreeBSD" ] ; then
echo "FreeBSD"
elif [ $SYSTEM = "Solaris" ] ; then
echo "Solaris"
else
echo "What?"
fi
#關(guān)于while使用的例子
#無條件循環(huán)
代碼如下:
while : ; do
echo "do something forever here"
sleep 5
done
關(guān)于“l(fā)inux中常用腳本和函數(shù)的示例分析”這篇文章就分享到這里了,希望以上內(nèi)容可以對大家有一定的幫助,使各位可以學(xué)到更多知識,如果覺得文章不錯,請把它分享出去讓更多的人看到。
文章名稱:linux中常用腳本和函數(shù)的示例分析-創(chuàng)新互聯(lián)
本文網(wǎng)址:http://www.rwnh.cn/article24/dcohce.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供網(wǎng)站策劃、響應(yīng)式網(wǎng)站、網(wǎng)站維護、品牌網(wǎng)站制作、App設(shè)計、商城網(wǎng)站
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)
猜你還喜歡下面的內(nèi)容