我寫這個劇本,它檢查是否AA某些文件已被更改:IF中的變量是否可以在IF外的變量上投影?
#!/bin/bash
path=$1
if [ -z "$path" ]; then
echo "usage: $0 [path (required)]" 1>&2
exit 4
fi
lastmodsecs=`stat --format='%Y' $path`
lastmodsecshum=`date -d @$lastmodsecs`
basedate=$newdate
if [ $lastmodsecs != $basedate ]; then
echo "CRITICAL: $path was last modified on $lastmodsecshum !"
newdate=`stat --format='%Y' $path`
exit 1
else
echo "OK: $path hasn't been modified since $lastmodsecshum \(last supervized change\)"
exit 0
fi
萬一IF
聲明是真實的我想設置$ newdate變量與UNIX時間在最後一次更改後項目它到了剛好在IF
之上的基於$的變量,這可能嗎?
Serge: 腳本現在看起來像這樣,結果是,如果文件已被更改,則檢查狀態保持爲CRITICAL:/ etc/passwd最後修改爲date
,由於某種原因,$ persist文件沒有正確更新:
#!/bin/bash
path=$1
if [ -z "$path" ]; then
echo "usage: $0 [path (required)]" 1>&2
exit 4
fi
lastmodsecs=`stat --format='%Y' $path`
lastmodsecshum=`date -d @$lastmodsecs`
persist="/usr/local/share/applications/file"
if [ -z $persist ]
then newdate=`stat --format='%Y' $path`
else read newdate < $persist
fi
basedate=$newdate
if [ $lastmodsecs != $basedate ]; then
echo "CRITICAL: $path was last modified on $lastmodsecshum !"
echo $lastmodsecs > $persist
exit 1
else
echo "OK: $path hasn't been modified since $lastmodsecshum \(supervized change\)"
exit 0
fi
你是什麼意思與'項目',分配? – PeterMmm
是的,這可能是我不知道正確的術語...可以分配。 –
那麼在設置新日期之後,您想如何使用基礎?您不會在腳本中使用基礎。 – PeterMmm