校园春色亚洲色图_亚洲视频分类_中文字幕精品一区二区精品_麻豆一区区三区四区产品精品蜜桃

主頁 > 知識庫 > linux shell腳本對未定義變量的判斷以及if的用法詳解

linux shell腳本對未定義變量的判斷以及if的用法詳解

熱門標簽:同花順電話機器人微信 輝縣市地圖標注 房產(chǎn)證地圖標注的兩個面積 湖北孝感如何辦理 威海電銷外呼系統(tǒng)好用嗎 武漢語音電銷機器人加盟 地圖標注x是啥意思 外呼系統(tǒng)的合法性 北京電銷機器人對市場的影響

環(huán)境

操作系統(tǒng):win10

虛擬機:centos7

需求

因為公司有個腳本,是用于啟動程序的,但是每次啟動都要手動做如下兩個操作:

①先查詢之前的進程ID

②殺死之前的,在啟動新了

時間長了弄得我很煩躁,所以就琢磨下,把上面的的操作一起整合到啟動腳本里去。

最開始我是這么寫的:

#!/bin/bash
echo "ggjob-search..."
pid=`ps -ef|grep -w ggjob-search|grep -v grep|grep -v ggjob-search.sh|awk '{printf $2}'`
echo "having kill pid:$pid"
kill -9 $pid
nohup java -Djava.ext.dirs=lib -Xms500m -Xmx500m -Dlog4j.configuration=file:/home/webuser/gogoal_platform/ggjob/config/log4j.properties -jar ggjob-search.jar config/config.properties 2>1 >>/dev/null 
echo "new pid:$!"

執(zhí)行了一下,OK

結(jié)果:

ggjob-search...
having kill pid:7018
new pid:7209

假設(shè)進程早已手動殺死,在執(zhí)行上面的腳本:

結(jié)果提示:

kill: usage: kill [-s sigspec | -n signum | -sigspec] pid | jobspec ... or kill -l [sigspec]

雖然不影響后面的命令,依然啟動了程序。但是總是報這個也不好看。

所以我打算加上if判斷

shell if寫法

if空格[空格判斷表達式空格];then
else
fi

對未定義變量的判斷

舉個例子:

if [ "x${pid}" != "x" ];then
echo "說明pid變量不為空"
else
echo "變量pid為空或未定義"
fi

特別注意上面if那一行是沒有一個多余的空格;也就是說,空格是必須的,否則會報語法錯誤。

最后我調(diào)整后的腳本為:

#!/bin/bash
echo "ggjob-search..."
pid=`ps -ef|grep -w ggjob-search|grep -v grep|grep -v ggjob-search.sh|awk '{printf $2}'`
if [ "X${pid}" != "X" ];then
echo "having kill pid:$pid"
kill -9 $pid
fi
nohup java -Djava.ext.dirs=lib -Xms500m -Xmx500m -Dlog4j.configuration=file:/home/webuser/gogoal_platform/ggjob/config/log4j.properties -jar ggjob-search.jar config/config.properties 2>1 >>/dev/null 
echo "new pid:$!"

簡單講解:

①先執(zhí)行ps -ef|grep -w ggjob-search|grep -v grep|grep -v ggjob-search.sh|awk '{printf $2}',找到我們要殺死的進程ID并賦值給變量pid。

②進行判斷,要是進程沒有被殺死,就執(zhí)行kill -9,進行強制殺死進程操作。

③后臺啟動程序(我這里是啟動jar包),最后打印啟動的新ID。

注意:由于我的腳本名和查詢進程名類似,所以grep取反時,也要把腳本本身臨時啟動的進程ID過濾掉。

這里也貼出網(wǎng)上收集的一些小技巧:

判斷變量a為空最好的方法是:[ -z string ] [ -n string ]
# 這種方式
if [ -z $a ];then
echo "${LINENO} a is null"
fi
# -z 如果string長度為零,則為真
# -n 如果string長度非零,則為真

經(jīng)過我大量測試:

上面的對未定義變量的判斷也可以這么寫:

# 經(jīng)過我的測試使用-n 不能判斷未定義變量
if [ ! -z ${pid} ];then
echo "說明pid變量不為空"
else
echo "變量pid為空或未定義"
fi

這是不是說明:未定義變量,使用-n判斷時,其string長度不為空,使用-z做判斷時,其string長度為空。(我也不確定)

運算符 描述 示例
-e filename 如果filename存在,則為真 [ -e /etc/profile ]
-d filename 如果filename為目錄,則為真 [ -d /tmp/mydir ]
-f filename 如果filename為常規(guī)文件,則為真 [ -f /usr/bin/grep ]

不一一列舉了!

以上這篇linux shell腳本對未定義變量的判斷以及if的用法詳解就是小編分享給大家的全部內(nèi)容了,希望能給大家一個參考,也希望大家多多支持腳本之家。

您可能感興趣的文章:
  • Linux shell條件判斷if中的-a到-z的意思【推薦】
  • Shell中if的基本語法和常見判斷用法
  • Shell腳本IF條件判斷和判斷條件總結(jié)
  • Linux shell腳本編程if語句的使用方法(條件判斷)
  • linux shell中if的各種判斷

標簽:武威 西寧 迪慶 日喀則 紹興 麗江 蚌埠 安康

巨人網(wǎng)絡(luò)通訊聲明:本文標題《linux shell腳本對未定義變量的判斷以及if的用法詳解》,本文關(guān)鍵詞  linux,shell,腳本,對,未定義,;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問題,煩請?zhí)峁┫嚓P(guān)信息告之我們,我們將及時溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無關(guān)。
  • 相關(guān)文章
  • 下面列出與本文章《linux shell腳本對未定義變量的判斷以及if的用法詳解》相關(guān)的同類信息!
  • 本頁收集關(guān)于linux shell腳本對未定義變量的判斷以及if的用法詳解的相關(guān)信息資訊供網(wǎng)民參考!
  • 推薦文章
    校园春色亚洲色图_亚洲视频分类_中文字幕精品一区二区精品_麻豆一区区三区四区产品精品蜜桃
    亚洲国产视频a| 舔着乳尖日韩一区| 午夜精品福利一区二区三区蜜桃| 成人精品一区二区三区四区| 日韩精品一区在线观看| 五月婷婷综合在线| 91精品久久久久久久91蜜桃| 麻豆一区二区99久久久久| 久久在线观看免费| 黄色成人免费在线| 久久久精品黄色| 91美女在线观看| 亚洲午夜激情网站| 日韩一区二区高清| 国产精品18久久久久久久久| 国产精品乱码一区二区三区软件| 91在线免费播放| 蜜臀av一区二区| 国产精品福利电影一区二区三区四区| voyeur盗摄精品| 九色|91porny| 亚洲综合精品久久| 日韩欧美高清一区| 懂色av一区二区三区免费看| 亚洲视频资源在线| 欧美三级资源在线| 国产白丝网站精品污在线入口| 亚洲国产精品av| 欧美一级欧美一级在线播放| 国内精品视频666| 午夜久久久久久| 亚洲婷婷国产精品电影人久久| 欧美精品一区二区三| 99久久精品免费观看| 91玉足脚交白嫩脚丫在线播放| 夜夜爽夜夜爽精品视频| 日韩欧美一二三四区| 美女视频黄 久久| 国产女主播一区| 欧美日韩精品一区二区天天拍小说 | 色域天天综合网| 91在线观看地址| 国产99精品视频| 免费人成精品欧美精品| 一区av在线播放| 亚洲精品免费看| 1区2区3区精品视频| 国产欧美一区二区三区沐欲| 在线播放中文一区| 3atv一区二区三区| 欧美日韩三级在线| 在线91免费看| 91精品国产综合久久精品麻豆| 欧美少妇bbb| 欧美日韩日日夜夜| 欧美一区二区三区视频免费| 69成人精品免费视频| 欧美一区二区私人影院日本| 7777精品伊人久久久大香线蕉超级流畅 | 亚洲天堂a在线| 国产精品美女视频| 国产色产综合色产在线视频| 日本一区二区三区免费乱视频| 日韩视频在线你懂得| 日韩欧美色综合网站| 日韩手机在线导航| 久久免费的精品国产v∧| 欧美精品一区二区在线播放| 欧美一卡在线观看| 久久网站最新地址| 国产精品久久久久天堂| 一区二区三区中文字幕在线观看| 亚洲综合视频网| 久久99国产精品麻豆| 波多野结衣一区二区三区 | 不卡一区二区三区四区| 欧美亚一区二区| 欧美一区二区播放| 国产女主播视频一区二区| 一区二区三区视频在线看| 亚洲成人免费在线观看| 久久不见久久见免费视频7| 粉嫩绯色av一区二区在线观看| 欧洲一区二区三区在线| 欧美大片在线观看一区| 国产精品国产三级国产aⅴ原创 | 成人免费看片app下载| 日本高清不卡aⅴ免费网站| 日韩亚洲欧美在线| 国产精品久久久久久久第一福利| 亚洲丶国产丶欧美一区二区三区| 狠狠色丁香婷综合久久| 91色在线porny| 欧美大片国产精品| 亚洲日本电影在线| 国产一区不卡精品| 欧美三级电影网| 欧美激情综合在线| 久久精品国产99国产| 91污在线观看| 国产婷婷一区二区| 亚洲成人资源网| 国产高清不卡一区| 欧美一区二区网站| 亚洲人快播电影网| 成人精品免费看| 日韩欧美一级在线播放| 午夜欧美在线一二页| 波多野结衣欧美| 久久久久久久久久电影| 麻豆高清免费国产一区| 成人av电影观看| 国产欧美日韩亚州综合| 青青草国产精品亚洲专区无| 欧美性受xxxx| 亚洲人成网站在线| 男人的天堂久久精品| 图片区小说区国产精品视频| 91视频www| 亚洲日本成人在线观看| fc2成人免费人成在线观看播放| 欧美精品一区二区不卡| 免费看欧美美女黄的网站| 欧美色倩网站大全免费| 亚洲蜜臀av乱码久久精品| 成人国产电影网| 国产精品久久久久永久免费观看| 国产一区二区三区高清播放| 欧美一区二区三区免费在线看 | 精品久久久久久久人人人人传媒 | 美女视频一区在线观看| 欧美四级电影网| 久久99最新地址| 久久国产精品72免费观看| 日韩精品一卡二卡三卡四卡无卡| 亚洲一区二区三区四区不卡| 日本中文在线一区| 国产欧美一区二区三区鸳鸯浴| 久久 天天综合| 日韩视频永久免费| 蜜桃91丨九色丨蝌蚪91桃色| 欧美一级欧美三级| 日本aⅴ精品一区二区三区| 日本成人超碰在线观看| 91精品国产一区二区三区香蕉| 婷婷开心久久网| 日韩视频在线观看一区二区| 蜜桃av噜噜一区| 久久久精品黄色| 在线观看视频91| 久久国产福利国产秒拍| 久久久久久免费| zzijzzij亚洲日本少妇熟睡| 亚洲视频你懂的| 884aa四虎影成人精品一区| 极品少妇一区二区| 亚洲欧洲成人自拍| 欧美日韩精品一区二区天天拍小说 | 中文字幕在线免费不卡| 欧美伊人久久大香线蕉综合69 | 欧美一级黄色片| 粉嫩久久99精品久久久久久夜| 亚洲精品自拍动漫在线| 日韩欧美一级片| 色先锋aa成人| 国产一区二区视频在线播放| 亚洲欧美日韩精品久久久久| 欧美一级一级性生活免费录像| 国产.精品.日韩.另类.中文.在线.播放| 欧美国产激情二区三区| 欧美色成人综合| 国产成人精品影院| 亚洲成人免费在线| 国产精品福利影院| 欧美一区二区人人喊爽| 99天天综合性| 另类小说综合欧美亚洲| 亚洲三级久久久| 精品久久国产老人久久综合| 91麻豆swag| 国产99久久久国产精品| 欧美aa在线视频| 一区二区免费在线| 国产午夜亚洲精品理论片色戒| 欧美丝袜自拍制服另类| 国产精品综合二区| 亚洲裸体xxx| 国产亚洲欧美在线| 日韩欧美一级在线播放| 91国在线观看| 99热在这里有精品免费| 久久国产精品99精品国产 | 亚洲三级电影网站| 国产清纯在线一区二区www| 91精品国产综合久久精品麻豆| 91国偷自产一区二区使用方法| 处破女av一区二区| 国产在线精品一区二区三区不卡 | 99视频一区二区| 国产欧美精品国产国产专区|