1. 程式人生 > >shell(1)介紹、腳本結構和執行、date命令、腳本中的變量、腳本中邏輯判斷、文件目錄屬性判斷

shell(1)介紹、腳本結構和執行、date命令、腳本中的變量、腳本中邏輯判斷、文件目錄屬性判斷

shell語法

一、shell腳本介紹

技術分享圖片

我自定的shell腳本基本是放在/usr/local/sbin/目錄下。



二、Shell腳本結構和執行

技術分享圖片

腳本命令:

bash +腳本文件路徑

sh +腳本文件路徑

查看腳本執行過程-x :bash -x 1.sh

查看腳本是否語法錯誤 -n:bash -n 1.sh



三、date命令用法(在shell腳本中經常使用到這個命令的結果)


date +%Y-%m-%d, date +%y-%m-%d 年月日

date +%H:%M:%S = date +%T 時間

date +%s 時間戳 (以1970為始)

date -d @1504620492

date -d "+1day" 一天後

date -d "-1 day" 一天前

date -d "-1 month" 一月前

date -d "-1 min" 一分鐘前

date +%w, date +%W 星期

date +%Y 年份以四位數顯示

date +%y 年份以兩位數顯示

date +%m 表示月份

date +%d 表示日期

date +%H 表示小時

date +%M 表示分鐘

date +%S 表示秒


對比 date -d "-1 day " 和date -d "-1 day " +%F的區別:

技術分享圖片

時間戳和具體時間日期進行轉換

技術分享圖片



四、shell腳本中的變量

技術分享圖片

變量可以多次是使用和調用




五、腳本中的邏輯判斷

技術分享圖片


格式1:if 條件 ; then 語句; fi

1. if條件語句的格式:(在腳本中寫這些語句的時候不要加分號“;”,在命令行中直接執行要加分號)

if [ $a -gt 1 ];

then ... ;

fi

技術分享圖片

(if(($a>5))==if [ $a -gt >5 ])


格式2:if 條件; then 語句; else 語句; fi

if [ $a -gt 1 ];

then ... ;

else 語句;

fi


格式3:if …; then … ;elif …; then …; else …; fi

邏輯判斷表達式:if [ $a -gt $b ]; if [ $a -lt 5 ]; if [ $b -eq 10 ]等 -gt (>); -lt(<); -ge(>=); -le(<=);-eq(==); -ne(!=) 註意到處都是空格

可以使用 && || 結合多個條件

if [ $a -gt 5 ] && [ $a -lt 10 ]; then

if [ $b -gt 5 ] || [ $b -lt 3 ]; then



六、文件目錄屬性判斷


技術分享圖片



[ -f file ]判斷是否是普通文件,且存在

技術分享圖片

技術分享圖片

[ -d file ] 判斷是否是目錄,且存在

[ -e file ] 判斷文件或目錄是否存在

[ -r file ] 判斷文件是否可讀

[ -w file ] 判斷文件是否可寫

[ -x file ] 判斷文件是否可執行


{
[ -f $f ] && rm -rf $f ==if [-f $f ];then ;rm -rf $f fi

}








































































shell(1)介紹、腳本結構和執行、date命令、腳本中的變量、腳本中邏輯判斷、文件目錄屬性判斷