久久婷婷香蕉热狠狠综合,精品无码国产自产拍在线观看蜜,寡妇房东在做爰3,中文字幕日本人妻久久久免费,国产成人精品三上悠亚久久

當前位置:首頁 > 嵌入式培訓 > 嵌入式學習 > 講師博文 > Linux Shell 腳本(ben)編寫

Linux Shell 腳本編(bian)寫(xie) 時(shi)間:2018-09-27      ;來(lai)源:未知

一、Shell 腳本(ben)編寫

 1、提示用戶輸入一(yi)個(ge)字符(fu)串,如果是 hello,打出 yes,并每秒輸出 "hello,world",否則(ze)就輸出 no,實(shi)現如下:

#!/bin/bash

#Filename:hello.sh

echo "Please input 'hello'"

read -p "> " str // 得到鍵盤(pan)輸入

echo $str

if [ "$str" == hello ]

then

echo "yes"

while true

do

echo "hello, world"

sleep 1 // 睡眠1秒

done

else

echo "no"

fi

2、實現(xian)一個 find.sh,運行 ./find.sh /tmp/test.txt ,當 /tmp/test.txt 為文(wen)件(jian)且存在(zai)時輸出 yes, 否則(ze)輸出 no,實現(xian)如下:

#!/bin/bash

#Filename:find.sh

args1=$1 ( $0 為(wei)要執(zhi)行(xing)的文件路徑,$1 為(wei)輸入的第一(yi)個(ge)參數,以(yi)此類(lei)推)

if [ -e "$args1" ] // 如果該變(bian)量代表(biao)的值是(shi)一個(ge)文件

then

echo "yes"

else

echo "no"

fi

判斷文件的參數如下:

-e 文件存在(zai)

 -f file 是一個 regular 文(wen)件(不是目(mu)錄或(huo)者設備文(wen)件)

-s 文件長度不為(wei) 0

-d 文件是個目錄

-b 文件(jian)是個塊(kuai)設備(軟盤,cdrom 等等)

-c 文(wen)件是(shi)個字符(fu)設(she)備(鍵盤(pan),modem,聲卡(ka)等(deng)等(deng))

-p 文(wen)件是個(ge)管道

-h 文件是個符號鏈接

-L 文件是(shi)個符號鏈接

-S 文(wen)件是(shi)個 socket

-t 關聯到一個(ge)(ge)終(zhong)端(duan)設備的文件描述(shu)符 這(zhe)個(ge)(ge)選項(xiang)一般都用來(lai)檢測(ce)是(shi)否在一個(ge)(ge)給定腳本(ben)中的 stdin[-t0]或[-t1]是(shi)一個(ge)(ge)終(zhong)端(duan)

-r 文件(jian)具(ju)有讀權限(對于用(yong)戶(hu)運行這個 test)

-w 文件具(ju)有(you)寫權限(對于用(yong)戶運行這個 test)

-x 文件具有執行權限(對于用戶運(yun)行這個 test)

3、實現一(yi)個(ge) ping.sh

• 運行 ./ping.sh start 后在(zai)后臺運行 ping 命(ming)令,ping 127.0.0.1,并把(ba) ping 結果輸(shu)出(chu)到 /tmp/ping.log

• 運(yun)(yun)行(xing) ./ping.sh status 顯示 ping 命令是否正在運(yun)(yun)行(xing)

• 運(yun)行(xing) ./ping.sh stop 停止 ping 命(ming)令(ling),如果正在運(yun)行(xing)的話。

# 方法一:輸入(ru) stop 時(shi),直接(jie)關閉所有的 ping 進程

#!/bin/bash

#Filaname:ping.sh

if [ "$1" == "start" ]

then

ping 127.0.0.1 > /tmp/ping.log &

elif [ "$1" == "status" ]

then

ps -ef | grep "ping 127.0.0.1"

elif [ "$1" == "stop" ]

then

killall ping (會干掉所(suo)有的ping 進程(cheng),包括子進程(cheng))

fi

#方法二:得到ping 127.0.0.1 的進程 ID ,再用kill 結(jie)束掉

#!/bin/bash

#Filaname:ping.sh

if [ "$1" == "start" ]

then

ping 127.0.0.1 > /tmp/ping.log &

elif [ "$1" == "status" ]

then

ps -ef | grep "ping 127.0.0.1"

elif [ "$1" == "stop" ]

then

pid=`ps -ef |grep ping | grep "127.0.0.1" | awk '{print $2}'`

if [ "pid" -gt 0 ];then

kill $pid

echo kill $pid

else

echo "要關閉的進程不存在"

fi

fi

4、將上(shang)面的 ping.sh 加入開機(ji)自啟動

# 方法一:

系統(tong)的(de)(de)rc.local 文(wen)件是在 系統(tong)啟動之后才加(jia)載的(de)(de),可以把(ba)腳本添加(jia)到這個文(wen)件中(zhong)

打(da)開 /etc/rc.d/rc.local 文(wen)件(jian)(root 用戶(hu)):vim /etc/rc.d/rc.local

加(jia)入下面(mian)兩行:

cd /home/demon # 進入到(dao)當前(qian)目錄

su demon -c "./ping.sh start"

# 方法二:

# 修(xiu)改 ping.sh 的權限

# chmod 755 ping.sh

# 將(jiang) ping.sh 移(yi)動到(dao) /etc/rc.d/init.d/ 目錄下(xia)

# 使用 chkconfig 命令將腳本設為開機啟動(dong)

# chkconfig --add ping.sh

上一篇:Linux查看進程狀態

下一篇:Linux管理軟件包

熱點文章推薦
華清學員就(jiu)業榜單(dan)
高薪學員經驗分享(xiang)
熱點新聞推薦
前臺專線(xian):010-82525158 企(qi)業(ye)培訓(xun)洽談專線:010-82525379 院校合作(zuo)洽談(tan)專線:010-82525379 Copyright © 2004-2022 北京華清遠見科技集團有限公司 版權所有 ,,京公海網安備11010802025203號

回到頂部