婷婷综合国产,91蜜桃婷婷狠狠久久综合9色 ,九九九九九精品,国产综合av

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

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

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

環境

操作系統: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:$!"

執行了一下,OK

結果:

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

假設進程早已手動殺死,在執行上面的腳本:

結果提示:

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那一行是沒有一個多余的空格;也就是說,空格是必須的,否則會報語法錯誤。

最后我調整后的腳本為:

#!/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:$!"

簡單講解:

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

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

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

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

這里也貼出網上收集的一些小技巧:

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

經過我大量測試:

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

# 經過我的測試使用-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為常規文件,則為真 [ -f /usr/bin/grep ]

不一一列舉了!

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

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

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

巨人網絡通訊聲明:本文標題《linux shell腳本對未定義變量的判斷以及if的用法詳解》,本文關鍵詞  linux,shell,腳本,對,未定義,;如發現本文內容存在版權問題,煩請提供相關信息告之我們,我們將及時溝通與處理。本站內容系統采集于網絡,涉及言論、版權與本站無關。
  • 相關文章
  • 下面列出與本文章《linux shell腳本對未定義變量的判斷以及if的用法詳解》相關的同類信息!
  • 本頁收集關于linux shell腳本對未定義變量的判斷以及if的用法詳解的相關信息資訊供網民參考!
  • 推薦文章
    婷婷综合国产,91蜜桃婷婷狠狠久久综合9色 ,九九九九九精品,国产综合av
    欧美综合在线视频| 精品午夜久久福利影院| 在线观看中文字幕不卡| 国产成人h网站| 日韩欧美一二三| 26uuu精品一区二区在线观看| 亚洲欧美乱综合| 国产一区啦啦啦在线观看| 成人国产视频在线观看| 一区二区三区鲁丝不卡| 狠狠v欧美v日韩v亚洲ⅴ| 在线观看国产一区二区| 91精品国产综合久久久久久久| 国产精品久久久久四虎| 精品亚洲国内自在自线福利| 高清国产一区二区| 欧美一级爆毛片| 婷婷一区二区三区| 91麻豆福利精品推荐| 一区二区在线免费观看| 色婷婷综合久久久久中文一区二区 | 不卡欧美aaaaa| 高潮精品一区videoshd| 亚洲日本护士毛茸茸| www.激情成人| 麻豆国产欧美日韩综合精品二区 | 日韩视频在线一区二区| 亚洲精品网站在线观看| 欧美在线你懂的| 最新国产成人在线观看| 日韩欧美电影一区| 波多野结衣视频一区| 亚洲欧美另类久久久精品2019 | 亚洲精品国产第一综合99久久| 国产激情一区二区三区四区 | 欧美揉bbbbb揉bbbbb| youjizz久久| 喷白浆一区二区| 亚洲二区在线视频| 亚洲免费电影在线| 欧美一级搡bbbb搡bbbb| www.欧美亚洲| 国产精品99久久久久久久vr| 亚洲三级视频在线观看| 亚洲aaa精品| 97久久超碰国产精品电影| 亚洲高清不卡在线观看| 亚洲欧美日韩国产一区二区三区| 欧美精品一区男女天堂| 欧美大黄免费观看| 欧美精品一区二区在线播放| 精品少妇一区二区三区在线播放 | 亚洲美女屁股眼交| 久久香蕉国产线看观看99| 欧美大片免费久久精品三p| 欧美电视剧在线看免费| 久久精品亚洲精品国产欧美| 国产片一区二区| 亚洲精品视频一区二区| 五月综合激情婷婷六月色窝| 免费看日韩a级影片| 丁香亚洲综合激情啪啪综合| 在线中文字幕一区| 久久久精品免费免费| 亚洲四区在线观看| 韩国女主播成人在线| 99精品欧美一区二区三区小说| 欧美日韩成人综合在线一区二区| 26uuu亚洲| 视频一区欧美精品| 日本电影亚洲天堂一区| 中文字幕亚洲一区二区av在线 | 国产精品久久久久久久第一福利| 亚洲男人的天堂av| voyeur盗摄精品| 亚洲欧美另类久久久精品2019| 亚洲婷婷综合色高清在线| 国产精品亚洲视频| 午夜精品久久久久影视| 国产欧美一区二区精品忘忧草| 欧美日韩一区小说| 日本伊人精品一区二区三区观看方式| 精品理论电影在线观看| 99久久精品免费| 国产在线日韩欧美| 免费一级片91| 午夜电影一区二区| 亚洲一区二区三区在线播放| 国产精品免费观看视频| 欧美精品tushy高清| 91精品婷婷国产综合久久| 日韩黄色片在线观看| 久久精品国产亚洲aⅴ| 精品国产一二三区| eeuss国产一区二区三区| 久久网站最新地址| 91在线观看污| 亚洲天堂福利av| 91精品国产91综合久久蜜臀| 蜜桃久久av一区| 国产精品丝袜一区| 日韩一区二区免费电影| 色网综合在线观看| 国产suv精品一区二区6| 精品一区二区三区在线播放| 国产亚洲女人久久久久毛片| 欧美日韩另类国产亚洲欧美一级| 久久成人免费电影| 视频一区欧美精品| 亚洲一区二区视频在线观看| 国产欧美精品一区二区色综合| 欧美精品久久一区二区三区 | 91精品久久久久久久99蜜桃| 成人免费视频一区| 国产一区二区三区在线观看免费视频 | 精品日韩一区二区| 亚洲第一福利视频在线| 成人av在线一区二区三区| 在线日韩国产精品| 久久精品亚洲国产奇米99| 亚洲1区2区3区4区| 成人免费看黄yyy456| 欧美成人官网二区| 一级日本不卡的影视| 国模冰冰炮一区二区| 精品视频1区2区3区| 亚洲大片免费看| 欧美性大战久久| 热久久一区二区| 69久久夜色精品国产69蝌蚪网| 午夜视频在线观看一区二区 | 精品欧美乱码久久久久久1区2区 | 色综合天天综合色综合av | 国产一区二区三区免费播放| 视频一区二区欧美| 亚洲成在人线免费| 亚洲成av人片一区二区| 蜜臀91精品一区二区三区| 日韩精品久久理论片| 久久精品国产精品亚洲精品| www.欧美.com| 精品国产91洋老外米糕| 国产精品成人网| 久久精品国产精品亚洲精品| 色综合天天狠狠| 国产清纯美女被跳蛋高潮一区二区久久w | 中文字幕亚洲一区二区av在线| 亚洲日本在线天堂| 国模套图日韩精品一区二区| 在线免费观看成人短视频| 国产无人区一区二区三区| 五月婷婷欧美视频| av一二三不卡影片| 中文字幕欧美国产| 六月丁香综合在线视频| 色哟哟一区二区三区| 日本一区二区三区四区在线视频 | 91福利资源站| 国产精品嫩草99a| 久草精品在线观看| 制服丝袜国产精品| 丝袜美腿高跟呻吟高潮一区| 色成年激情久久综合| 亚洲视频一区在线| 日本亚洲天堂网| 欧美日韩不卡在线| 日韩精品亚洲专区| 日韩精品资源二区在线| 久久99精品国产麻豆婷婷 | 久久丁香综合五月国产三级网站| 欧美日韩不卡一区二区| 日韩福利电影在线| 欧美va亚洲va在线观看蝴蝶网| 国产一区二区三区免费在线观看| 欧美videos中文字幕| 国产精一区二区三区| 国产精品久久久一区麻豆最新章节| 成人性色生活片| 亚洲国产精品尤物yw在线观看| 欧亚一区二区三区| 国产另类ts人妖一区二区| 久久久一区二区三区捆绑**| 国产伦精品一区二区三区免费| 久久久久高清精品| 一本大道av伊人久久综合| 激情另类小说区图片区视频区| 欧美一级久久久| 在线观看亚洲精品| 国产福利91精品一区| 日产精品久久久久久久性色| 精品久久久久久久人人人人传媒| 一本在线高清不卡dvd| 91在线免费视频观看| 国产成人av一区二区三区在线| 亚洲一区二区在线免费观看视频| 国产精品入口麻豆九色| 久久久精品中文字幕麻豆发布| 亚洲小少妇裸体bbw| 国产精品香蕉一区二区三区| 五月综合激情网|