主頁(yè) > 知識(shí)庫(kù) > linux中常用腳本和函數(shù)分享

linux中常用腳本和函數(shù)分享

熱門標(biāo)簽:艾比利外呼系統(tǒng) 杞縣地圖標(biāo)注app 電話機(jī)器人每天搜索多少次 衡水外呼線路解決 外呼系統(tǒng)一天耗費(fèi)多少流量 陜西便宜電銷機(jī)器人軟件 ??谥悄苷Z(yǔ)音電銷機(jī)器人好用嗎 昆明電話外呼系統(tǒng)好么 免費(fèi)門店地圖標(biāo)注注冊(cè)入駐

#查找當(dāng)前目錄中是否存在指定目錄,若不存在,則創(chuàng)建之

復(fù)制代碼 代碼如下:

function mkdir_1
{
  if test ! -d $1
    then
     mkdir $1
  fi
}

#指定文件中的"prefix = .*"串替換為"prefix=/home/gnome-unicore-install2/usr/"
#可以用來(lái)作為sed用法的參考
復(fù)制代碼 代碼如下:

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"
復(fù)制代碼 代碼如下:

#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"
復(fù)制代碼 代碼如下:

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
復(fù)制代碼 代碼如下:

function delete_line_no
{
   chmod +w $1
   cp $1 $1.bak
   sed  $2,$3'd' $1.bak>$1
   rm $1.bak

}


#用途:在LINE_NO指定的行插入字符串CONTENT
#可以用來(lái)作為sed用法的參考
#格式: add_line FILENAME LINE_NO CONTENT
復(fù)制代碼 代碼如下:

function add_line
{
    chmod +w $1
    cp $1 $1.bak
    sed -e $2 'i' "$3" '' $1.bak > $1
    rm $1.bak
}

#用途:檢查含有"PC24"代碼的程序并打印出來(lái)
#格式: check_PC24 //after installation 
復(fù)制代碼 代碼如下:

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
}

#打印標(biāo)題
復(fù)制代碼 代碼如下:

displayheader() {
    echo "   *****************************************"
    echo "   *         IeeeCC754 testing tool           *"
    echo "   *****************************************"
    echo " "
}

#打印一個(gè)菜單的做法
復(fù)制代碼 代碼如下:

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 > "
}

#接收一個(gè)菜單輸入
復(fù)制代碼 代碼如下:

displayplatformmenu
read answer
case ${answer} in
      a) TARGET="BasicOp";;
      b) TARGET="Conversion";;
      *) badchoice;;
esac

#查找當(dāng)前目錄下是否存在file_name文件
#可以用來(lái)作為if用法的參考
復(fù)制代碼 代碼如下:

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ù)指定的一個(gè)或多個(gè)目錄項(xiàng)以及其下的多級(jí)子目錄下的所有文件名和目錄名轉(zhuǎn)換為小寫。
復(fù)制代碼 代碼如下:

cvitem()
{
echo "mv $1 `dirname $1`/`basename $1 | tr
'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz'`"
}
[ $# = 0 ] { echo "Usage: lcdir item1 item2 ..."; exit; }
for item in $*     #可以用來(lái)作為for用法的參考
do
[ "`dirname $item`" != "`basename $item`" ] {
[ -d $item ]
{
for subitem in `ls $item`
do
cvlc $item/$subitem
done
}
cvitem $item
}
done

#一個(gè)login的例子
復(fù)制代碼 代碼如下:

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使用的幾個(gè)例子
#執(zhí)行一個(gè)命令或程序之前,先檢查該命令是否存在,然後才執(zhí)行
復(fù)制代碼 代碼如下:

if [ -x /sbin/quotaon ] ; then
echo "Turning on Quota for root filesystem"
/sbin/quotaon /
fi

#得到Hostname
#!/bin/sh
復(fù)制代碼 代碼如下:

if [ -f /etc/HOSTNAME ] ; then
HOSTNAME=`cat /etc/HOSTNAME`
else
HOSTNAME=localhost
fi

#如果某個(gè)設(shè)定檔允許有好幾個(gè)位置的話,例如crontab,可利用if then elif fi來(lái)找尋
復(fù)制代碼 代碼如下:

if [ -f /etc/crontab ] ; then #[ -f /etc/crontab ]等價(jià)于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來(lái)判斷目前系統(tǒng),并分別做各系統(tǒng)狀況不同的事。
復(fù)制代碼 代碼如下:

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使用的例子
#無(wú)條件循環(huán)
復(fù)制代碼 代碼如下:

while : ; do
echo "do something forever here"
sleep 5
done

您可能感興趣的文章:
  • linux shell自定義函數(shù)(定義、返回值、變量作用域)介紹
  • Linux里awk中split函數(shù)的用法小結(jié)
  • linux下C語(yǔ)言中的mkdir函數(shù)與rmdir函數(shù)
  • 解析Linux下的時(shí)間函數(shù):設(shè)置以及獲取時(shí)間的方法
  • linux系統(tǒng)上支持php的 iconv()函數(shù)的方法
  • 解析linux 文件和目錄操作的相關(guān)函數(shù)
  • PHP執(zhí)行l(wèi)inux系統(tǒng)命令的常用函數(shù)使用說(shuō)明
  • linux下access函數(shù)的用法介紹
  • Linux Shell腳本系列教程(四):使用函數(shù)添加環(huán)境變量
  • linux下system函數(shù)的簡(jiǎn)單分析

標(biāo)簽:宿遷 西寧 泰安 南京 臨滄 營(yíng)口 昌都

巨人網(wǎng)絡(luò)通訊聲明:本文標(biāo)題《linux中常用腳本和函數(shù)分享》,本文關(guān)鍵詞  linux,中,常用,腳本,和,函數(shù),;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問(wèn)題,煩請(qǐng)?zhí)峁┫嚓P(guān)信息告之我們,我們將及時(shí)溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無(wú)關(guān)。
  • 相關(guān)文章
  • 下面列出與本文章《linux中常用腳本和函數(shù)分享》相關(guān)的同類信息!
  • 本頁(yè)收集關(guān)于linux中常用腳本和函數(shù)分享的相關(guān)信息資訊供網(wǎng)民參考!
  • 推薦文章