linux 指令碼(1)
阿新 • • 發佈:2019-02-05
比較:
-ne —比較兩個引數是否不相等
-lt —引數1是否小於引數2
-le —引數1是否小於等於引數2
-gt —引數1是否大於引數2
-ge —引數1是否大於等於引數2
-f — 檢查某檔案是否存在(例如,if [ -f "filename" ])
-d — 檢查目錄是否存在
注意if語句 當中的空格 判斷條件[ ] 內的空格不能少
TEMP_PATH="/home/oracle/log-temp" LOG_REMOTE_ALERT="/opt/oracle/oracle/diag/rdbms/test/test/alert/log.xml" #判斷檔案是否存在 如果不存在 則為安裝完之後 首次執行 if [ ! -e $TEMP_PATH"/ora-alert-var.txt" ];then echo "file not exists"; echo "0">$TEMP_PATH"/ora-alert-var.txt" fi echo "file exists"; line_var_old=$(cat $TEMP_PATH"/ora-alert-var.txt") echo $line_var_old line_var_now=$(cat $LOG_REMOTE_ALERT|wc -l) echo $line_var_now if [ $line_var_now -gt $line_var_old ]; then start_line=$[$line_var_old+1] echo $start_line tail -n +$start_line $LOG_REMOTE_ALERT>$TEMP_PATH"/ora-alert.xml" cat $LOG_REMOTE_ALERT|wc -l>$TEMP_PATH"/ora-alert-var.txt" elif [ $line_var_now -lt $line_var_old ]; then start_line=1; echo $start_line; tail -n +$start_line $LOG_REMOTE_ALERT>$TEMP_PATH"/ora-alert.xml" cat $LOG_REMOTE_ALERT|wc -l>$TEMP_PATH"/ora-alert-var.txt" else echo "have no change" fi
如果是空檔案 則 blabla -s為如果有內容
#!/bin/bash
if [ ! -s 123.txt ];then
echo "is empty!"
fi
變數操作:
將命令結果複製給變數:以ls命令為例
a=$(ls -l)
echo $a
a=($(ls -l))返回結果以陣列的形式賦值給變數
echo $a 預設a[0]