婷婷综合国产,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
    国产精品久久久久一区二区三区| 久久久久99精品一区| 欧美老年两性高潮| 亚洲国产综合在线| 欧美丰满少妇xxxbbb| 麻豆一区二区99久久久久| 欧美mv日韩mv| 国产成人av影院| 亚洲另类中文字| 欧美三级资源在线| 蜜臀av亚洲一区中文字幕| ww亚洲ww在线观看国产| 成人免费电影视频| 亚洲一区在线观看免费| 91精品国产综合久久国产大片| 亚洲成av人片在线观看| 欧美大片顶级少妇| 成人免费视频app| 亚洲综合色噜噜狠狠| 日韩女优av电影| 99久久国产免费看| 午夜精品在线视频一区| 国产嫩草影院久久久久| 欧美性videosxxxxx| 极品少妇一区二区| 亚洲另类一区二区| 久久综合色婷婷| 在线精品视频一区二区| 久久成人免费日本黄色| 亚洲日本在线视频观看| 欧美一区二区精品久久911| 成人黄色在线网站| 图片区小说区国产精品视频| 欧美激情综合五月色丁香小说| 97精品久久久午夜一区二区三区 | 国产呦精品一区二区三区网站| 亚洲国产成人午夜在线一区| 777奇米四色成人影色区| 成人美女视频在线观看| 青青草原综合久久大伊人精品| 国产精品免费久久| 欧美成人在线直播| 色老汉av一区二区三区| 国产精品99久久久久久久vr| 日韩成人午夜精品| 亚洲女同ⅹxx女同tv| 久久嫩草精品久久久久| 欧美精品乱人伦久久久久久| 99久久精品情趣| 成人一区二区在线观看| 毛片一区二区三区| 亚洲国产精品自拍| |精品福利一区二区三区| 精品久久久久99| 欧美一区二区三区啪啪| 欧美中文字幕一区| 91蜜桃网址入口| 99久久婷婷国产综合精品| 精品在线一区二区| 日韩av一二三| 日韩国产高清在线| 亚洲成人高清在线| 亚洲国产欧美在线| 亚洲一区欧美一区| 一级中文字幕一区二区| 亚洲三级在线播放| 亚洲精品免费在线观看| 国产精品国产a| 中文字幕在线一区| 国产精品久久久久aaaa樱花 | 日韩欧美国产1| 欧美精品一二三| 欧美日韩高清影院| 欧美裸体bbwbbwbbw| 欧美挠脚心视频网站| 欧美伦理视频网站| 欧美一级一区二区| 欧美成人免费网站| 精品美女一区二区| 久久久精品影视| 91丨porny丨蝌蚪视频| 成人精品亚洲人成在线| 亚洲精品少妇30p| 一区二区三区欧美视频| 亚洲一级不卡视频| 蜜臀av一区二区在线免费观看| 麻豆视频观看网址久久| 欧美国产成人精品| 欧美性猛交一区二区三区精品| 91久久精品一区二区二区| 在线观看亚洲精品| 欧美精品 国产精品| 日韩精品影音先锋| 国产午夜精品一区二区三区四区| 国产日韩欧美综合在线| 亚洲欧洲一区二区在线播放| 一区二区三区四区不卡在线| 亚洲成人免费看| 蜜桃一区二区三区四区| 国产精品一二三区| 色爱区综合激月婷婷| 欧美一级黄色片| 欧美国产1区2区| 亚洲一级在线观看| 国产精品一区二区黑丝| 亚洲丝袜精品丝袜在线| 亚洲人亚洲人成电影网站色| 日韩欧美国产一区二区三区| 国产日产欧美精品一区二区三区| 中文字幕一区二区三中文字幕| 亚洲资源中文字幕| 精品综合免费视频观看| 色综合久久精品| 欧美一级二级在线观看| 中文字幕一区二区三区蜜月| 一区二区日韩av| 国产原创一区二区三区| 色av综合在线| 久久久99精品免费观看| 亚洲精品免费播放| 国产精品福利在线播放| 久久奇米777| 亚洲一区二区三区四区在线观看 | 懂色av一区二区夜夜嗨| 日本韩国欧美三级| 久久综合成人精品亚洲另类欧美| 亚洲欧美另类久久久精品2019| 免费欧美在线视频| 天堂在线一区二区| 亚洲综合视频网| 国产高清亚洲一区| 欧美精品日韩综合在线| 亚洲视频一区二区免费在线观看| 美脚の诱脚舐め脚责91| 欧美性大战久久久久久久蜜臀| 亚洲精品一区在线观看| 亚洲成人一区二区在线观看| 丰满放荡岳乱妇91ww| 欧美一区日本一区韩国一区| 中文字幕日韩一区二区| 国产麻豆一精品一av一免费| 欧美视频在线一区二区三区 | 欧美日韩一二三区| 欧美激情综合五月色丁香| 日本欧洲一区二区| 欧美日韩一区三区四区| **性色生活片久久毛片| 国产一区二区三区免费在线观看| 欧美精品一二三| 亚洲国产日韩在线一区模特| 99精品国产热久久91蜜凸| 国产精品无人区| 国产精品77777| 久久久久久久久久久99999| 蜜桃久久久久久| 国产ts人妖一区二区| 欧美xxxxxxxxx| wwwwww.欧美系列| 日本成人在线电影网| 欧美日韩高清在线播放| 香蕉成人啪国产精品视频综合网| 91福利在线播放| 亚洲色大成网站www久久九九| av在线这里只有精品| 国产精品欧美一区喷水| 北岛玲一区二区三区四区| 欧美激情中文字幕| 不卡av在线免费观看| 国产精品欧美精品| 91原创在线视频| 夜夜嗨av一区二区三区中文字幕 | 一区二区三区欧美日韩| 在线亚洲免费视频| 亚洲国产美国国产综合一区二区| 欧美精品自拍偷拍| 麻豆精品在线视频| 久久午夜羞羞影院免费观看| 国产精品综合二区| 亚洲国产精品ⅴa在线观看| av网站一区二区三区| 亚洲另类一区二区| 3atv一区二区三区| 麻豆91免费看| 久久免费偷拍视频| 不卡视频一二三四| 欧美久久婷婷综合色| 免费黄网站欧美| 99九九99九九九视频精品| 亚洲一区在线视频| 欧美不卡一二三| 成人午夜精品一区二区三区| 亚洲天堂久久久久久久| 欧美日韩不卡视频| 久久99精品国产91久久来源| 国产精品国产三级国产专播品爱网| 一本一道波多野结衣一区二区 | 美女尤物国产一区| 日本一区二区三区久久久久久久久不 | 国产日韩视频一区二区三区| 91美女片黄在线观看91美女|