shell中判斷一個變量是否為0或者為某個具體的值


需求說明

  在實際寫腳本的過程中,需要判斷某個變量的值是否為某個數字,

  比如,判斷某個進程的數量是否為0用來確定進程是否存在,這樣的情況。

  簡單來說,算術比較

測試過程

  通過以下的腳本來判斷mysql的后台進程數是否為0,如果不為0,

  顯示出當前的進程數量。

腳本如下

#!/bin/bash

pid_cnts=$(ps -ef | grep mysqld | grep -v grep | awk '{print $2}' | wc -l)

if [ $pid_cnts -eq 0 ];
  then
    echo "process mysqld is exception,please check."
else
    echo "mysqld count = $pid_cnts."
fi

1.腳本執行過程

[root@redhat6 ~]# ./ts.sh
mysqld count = 2.

2.將mysql進程關閉,重新執行以上測試腳本

[root@redhat6 ~]# service mysqld stop
Shutting down MySQL. SUCCESS!
[root@redhat6 ~]# ./ts.sh
process mysqld is exception,please check.

備注:通過以上的腳本執行,可以知道mysqld進程的數量是2個,不為0.當關閉掉mysqld進程之后,再次

執行腳本,就輸出了echo "process mysqld is exception,please check."這部分的內容。

判斷一個變量是否為0的方法

[ $pid_cnts -eq 0 ] 如果變量pid_cnts的值是0,那么返回就是真

注意:-eq就是英文equal的縮寫,就是等於,也比較好記憶。pid_cnts是自定義的變量,實際過程根據自己的變量名字進行修改。

 

文檔創建時間:2018年3月9日10:07:36 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM