在編寫shell指令碼時,通常最開始的工作是對環境的檢查,比如檢查某一檔案或目錄是否存在,並執行相應的操作等。下面的shell指令碼實現的功能是,先檢查某一目錄是否存在,不存在的話就建立此目錄,存在的話就cd到這個目錄下。
#!/bin/bash #指定用到的shell直譯器
export mypath=/tmp/test #設定目錄的值
if [[ ! -e
$ ]]; #判斷此目錄是否不存在
then
mkdir $mypath; #不存在則建立並切換目錄
cd$mypath;
else
cd$mypath; #存在則直接切換目錄
fi
然後我們執行相應的命令
[root@redhatclient test]# pwd
/root/test
[root@redhatclient test]# ls /tmp |grep test
[root@redhatclient test]# sh sh1.sh
[root@redhatclient test]# pwd
/root/test
[root@redhatclient test]# ls /tmp |grep test
test
[root@redhatclient test]#
可以看到指令碼可以實現我們預想的功能,但是有一點要說明,在shell裡面切換的目錄,在shell執行完之後並不會生效,因為sh sh1.sh這種方式是在當前的shell下生成了乙個shell子程序,只對接下來的指令碼生效,不會對父程序shell生效。如果想要對父程序shell生效,使用命令:
[root@redhatclient test]# source sh1.sh
[root@redhatclient test]# pwd
/tmp/test
[root@redhatclient test]#
shell判斷檔案目錄或檔案是否存在
e 判斷物件是否存在 d 判斷物件是否存在,並且為目錄 f 判斷物件是否存在,並且為常規檔案 l 判斷物件是否存在,並且為符號鏈結 h 判斷物件是否存在,並且為軟鏈結 s 判斷物件是否存在,並且長度不為0 r 判斷物件是否存在,並且可讀 w判斷物件是否存在,並且可寫 x 判斷物件是否存在,並且可執行...
Shell判斷檔案或目錄是否存在
e filename 如果 filename存在,則為真 d filename 如果 filename為目錄,則為真 f filename 如果 filename為常規檔案,則為真 l filename 如果 filename為符號鏈結,則為真 r filename 如果 filename可讀,則為...
前端實戰小技巧
前端知識小技巧 1 保留 首行 標題 清空列表 table tr not first html table tr not first empty 2 通過屬性隱藏input標籤型別 隱藏,但會佔位置 隱藏,但不會佔位置 通過jquery隱藏與顯示 p hide p show 3 前台動態新增opti...