linux腳本判斷
#!/bin/bash
Filename=/usr/123.txt
File_time=`stat -c %Y $Filename`;
Sys_time=`date +%s`;
if [ ! -f /usr/123.txt ]; then
echo "0"
else
exit 0
if [ $[ $Sys_time - $File_time ] -gt 300 ];then
echo "1";
else
echo "0";
fi
fi
② 在linux下編寫shell腳本,判斷當前登錄用戶是否為學號命名的用戶
#!/bin/bash
id="123"
[ `whoami` = "$id" ] && echo 'yes' || echo 'no'
例如:
sh check.sh
#!/bin/sh
echo "Input username:"
read username
if grep -q $username /etc/passwd
then
awk -F: /$username/'{print $7}' /etc/passwd
else
echo "$1 not local user"
fi
(2)linux腳本判斷擴展閱讀:
Shell就是一個命令行解釋器,它的作用就是遵循一定的語法將輸入的命令加以解釋並傳給系統。它為用戶提供了一個向Linux發送請求以便運行程序的介面系統級程序,用戶可以用Shell來啟動、掛起、停止甚至是編寫一些程序。 Shell本身是一個用C語言編寫的程序,它是用戶使用Linux的橋梁。
③ 關於linux,shell腳本中怎樣判斷文件是否有內容
可以用「test 條件表達式」進行測試,如:test -f /etc/fstab 測試文件/etc/fstab文件是否存在
-e File 如果文件File存在(Exist),則為True
-s File 如果文件File存在且文件大小(Size)大於零,則為True
-f File 如果文件File存在且是普通文件(File),則為True
-d File 如果文件File存在且是目錄(Directory),則為True
-b File 如果文件File存在且是塊(Block)特殊文件,則為True
-c File 如果文件File存在且是字元(Character)特殊文件,則為True
-L File 如果文件File存在且是符號鏈接(Link)文件,則為True
-r File 如果文件File存在且是可讀的(Readable),則為True
-w File 如果文件File存在且是可寫的(Writable),則為True
-x File 如果文件File存在且是可執行的(Executable),則為True
-O File 如果文件File存在且屬於當前用戶(Owner),則為True
-G File 如果文件File存在且屬於當前用戶組(Group),則為True
File1 -nt File2 如果文件File1新於(Newer Then) File2,則為True
File2 -ot File2 如果文件File1舊於(Older Then) File2,則為True
④ 每天三分鍾搞定linux shell腳本10 字元串相關的if判斷
字元串比較包括
注意 :這里的符號要 轉義 ,否則變成了重定向了。
運行結果:
注意 :上面的 等號左右兩側 , 中括弧內側 一定要有空格
運行結果:
以上的例子,說明 小寫字母排在字典的後面 (類似於ascii的大小)。
sort 可以對字元串排序,sort 命令會把小寫字母放在前面 。
運行結果:
注意上面的 中括弧內側 一定要有空格。
注意 :有時候想在字元串比較的時候使用 正則表達式 ,可以使用 雙方括弧 ,如:
運行如下:
注意:上面的 雙等號左右兩側,中括弧內側 一定要有空格
⑤ linux伺服器上通過腳本判斷ssh服務是否正常
效果: pingsh代碼: #ssh連接伺服器 function getConnection() { ssh -o NumberOfPasswordPrompts=0 $1@$2 "pwd" &>/dev/null if [ $? != 0 ];then echo -e "
無法連接到$2" continue else echo -e "
成功連接$2" fi } #這里可以通過讀取文linux伺服器上通過腳本判斷ssh服務是否正常
⑥ linux shell腳本判斷某個文件的大小,符合條件則備份並重命名
cat test.sh
#!/bin/sh
file=$1
file_size=` $file | awk '{print $2}'`
if [ $file_size -ge 10485760 ]
then
cp -p $file $file-bak
fi
chmod +x test.sh
./test.sh 1.txt
逐行解釋
1.
查看腳本文件test.sh
2.
定義腳本默認用sh執行
3.
將文件路徑賦予file變數。$1
表示位置變數即下面的1.txt
4.
計算文件大小並賦予file_size變數
5.
如果文件大小大於等於10m.
10485760為10m,-ge為大於等於。
6.
if語法關鍵字
7.
將文件重命名備份
8.
if語法關鍵字
9.
空行
10.
賦予腳本test.sh可執行許可權
11.
執行腳本,輸入位置變數1.txt.
⑦ linux腳本判斷進程是否運行
ps -ef|grep 進程關鍵詞
執行上面的命令就可以
⑧ linux判斷某服務是否啟動腳本怎麼寫
用ps命令結合grep命令查找該服務名是否存在即可達到效果:
svc="sendmail"
ifps-ef|grep$svc|egrep-vgrep>/dev/null
then
echo"$svcisstarted!"
else
echo"$svcnotfound!"
fi
說明:
ps -ef : 顯示當前所有在運行的進程
|:管道,即其前面命令的的輸出,作為後面命令的輸入
grep service_name : 在輸出信息中,查找service_name數據行
egrep -v grep: 不顯示grep查找命令本身