最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

shell腳本怎樣判斷文件是否存在

 更新時間:2023年06月06日 14:54:55   作者:大飛飛魚  
這篇文章主要介紹了shell腳本怎樣判斷文件是否存在問題,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教

shell腳本判斷文件是否存在

在進行l(wèi)inux系統(tǒng)相關(guān)應(yīng)用程序開發(fā)時,少不了要書寫一些shell腳本,有時候要用到判斷文件或者目錄是否存在的腳本,本文筆者做一下筆記,已備后查。

shell判斷文件是否存在的腳本如下:

//[ 與 ] 的前后必須有空格符
if [ -f /path/file.ext ] 
then 
     echo "The file exist"
else
     echo "The file doesn't exist"
fi
//判斷某鏈接是否存在
if [ -L /path/link ] 
then 
    echo "The link exist"
else
    echo "The link doesn't exist"
fi

其實shell對于文件冊測試有好幾種選項開關(guān)

現(xiàn)在例舉如下:

表達式測試含義
-a filepathfile exists. all files type
-b filepathfile exists and is a block special file.
-c filepathfile exists and is a character special file.
-d filepathfile exists and is a directory.
-e filepathfile exists (等同于 -a).
-f filepathfile exists and is a regular file.
-g filepathfile exists and has its setgid(2) bit set.
-G filepathfile exists and has the same group ID as this process.
-k filepathfile exists and has its sticky bit set.
-L filepathfile exists and is a symbolic link.
-n filepathstring length is not zero.
-o filepathNamed option is set on.
-O filepathfile exists and is owned by the user ID of this process.
-p filepathfile exists and is a first in, first out (FIFO) special file ornamed pipe.
-r filepathfile exists and is readable by the current process.
-s filepathfile exists and has a size greater than zero.
-S filepathfile exists and is a socket.
-t filepathfile descriptor number fildes is open and associated with aterminal device.
-u filepathfile exists and has its setuid(2) bit set.
-w filepathfile exists and is writable by the current process.
-x filepathfile exists and is executable by the current process.

shell腳本之文件是否存在、權(quán)限校驗

判斷目錄是否存在

#判斷目錄是否存在,判斷非加!號, [ ! -d '/home' ]
if [ -d '/home' ]
then
?? ?echo "目錄/home存在=========="
else
?? ?echo "目錄/home不存在========="
fi

判斷文件是否存在

#判斷文件是否存在
if [ -f '/home/docker.log' ]
then
?? ?echo "文件/home/docker.log存在============="
else
?? ?echo "文件/home/docker.log不存在==========="
fi

判斷目錄/文件是否存在

#判斷文件是否存在,目錄或文件存在都成立
if [ -e '/home' ]
then
?? ?echo "/home存在=============="
else
?? ?echo "/home不存在============"
fi

判斷文件權(quán)限

#檢測文件是否可讀 -r ,可寫 -w ,可執(zhí)行 -x
if [ -r '/home/script/file.log' ]
then
?? ?echo "文件/home/script/file.log存在并可讀=============="
else
?? ?echo "目錄/home/script/file.log不存在或不可讀=================="
fi

判斷文件是否屬于當(dāng)前用戶

#檢測文件是否屬于當(dāng)前用戶
file_path=/home/script/file.log
if [ -O $file_path ]
then
?? ?echo "文件$file_path屬于當(dāng)前用戶================="
else
?? ?echo "文件$file_path不屬于當(dāng)前用戶==============="
fi

判斷文件是否與當(dāng)前用戶相同用戶組

#檢測文件是否存在,并且默認(rèn)組與當(dāng)前用戶相同
file_path=/home/script/file.log
if [ -G $file_path ]
then
?? ?echo "文件$file_path所屬組與當(dāng)前用戶相同================="
else
?? ?echo "文件$file_path所屬組與當(dāng)前用戶不相同================"
fi

比較文件之間是否為新建

#檢測文件file1是否比file2新
file1=/home/script/file.log
file2=/home/script/file_1.log
if [ $file1 -nt $file2 ]
then
?? ?echo "文件$file1比文件$file2新=============="
fi
if [ $file1 -ot $file2 ]
then
?? ?echo "文件$file1比文件$file2舊==============="
fi

復(fù)合條件判斷文件

#判斷既是文件 又 可讀 ,用 && ,或用 ||
file=/home/script/file.log
if [ -f $file ] && [ -r $file ]
then
? ? ? ? echo "文件$file是文件,并且可讀============="
fi

總結(jié)

以上為個人經(jīng)驗,希望能給大家一個參考,也希望大家多多支持腳本之家。

相關(guān)文章

  • Linux Shell腳本中的條件判斷語句的使用方法

    Linux Shell腳本中的條件判斷語句的使用方法

    在 Linux 系統(tǒng)中,Shell 腳本是自動化任務(wù)、系統(tǒng)管理、部署流程等場景下不可或缺的工具,而條件判斷語句,則是 Shell 腳本實現(xiàn)邏輯控制的核心語法之一,本文將從基礎(chǔ)語法講起,逐步深入到實際應(yīng)用場景幫助你更好地理解 Shell 條件判斷的本質(zhì),需要的朋友可以參考下
    2026-03-03
  • 淺談Shell中的函數(shù)

    淺談Shell中的函數(shù)

    這篇文章主要介紹了Shell中函數(shù)的相關(guān)資料,幫助大家更好的理解和使用shell,感興趣的朋友可以了解下
    2020-09-09
  • Linux應(yīng)用調(diào)試之strace命令詳解

    Linux應(yīng)用調(diào)試之strace命令詳解

    strace常用來跟蹤進程執(zhí)行時的系統(tǒng)調(diào)用和所接收的信號。下面通過本文給大家分享Linux應(yīng)用調(diào)試之strace命令,需要的朋友參考下吧
    2017-12-12
  • Linux命令之lz4命令使用示例

    Linux命令之lz4命令使用示例

    lz4是一種非??焖俚臒o損壓縮算法,基于字節(jié)對齊LZ77系列壓縮方案,它的特點是極快的解碼器,每核速度可達多GB/s,通常在多核系統(tǒng)上達到RAM速度限制項目,這篇文章主要介紹了Linux命令之lz4命令,需要的朋友可以參考下
    2023-03-03
  • php在linux中可能用到的命令(推薦)

    php在linux中可能用到的命令(推薦)

    下面小編就為大家?guī)硪黄猵hp在linux中可能用到的命令(推薦)。小編覺得挺不錯的,現(xiàn)在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2017-02-02
  • 詳解shell 遍歷文件夾內(nèi)所有文件并打印絕對路徑

    詳解shell 遍歷文件夾內(nèi)所有文件并打印絕對路徑

    本篇文章主要介紹了shell 遍歷文件夾內(nèi)所有文件并打印絕對路徑,具有一定的參考價值,有興趣的可以了解一下。
    2017-01-01
  • linux ar 命令的使用說明和實例講解

    linux ar 命令的使用說明和實例講解

    ar命令可以用來創(chuàng)建、修改庫,也可以從庫中提出單個模塊。這篇文章主要介紹了linux ar 命令的使用說明和實例講解的相關(guān)資料,需要的朋友可以參考下
    2016-10-10
  • Shell腳本一鍵安裝Nginx服務(wù)自定義Nginx版本

    Shell腳本一鍵安裝Nginx服務(wù)自定義Nginx版本

    這篇文章主要為大家介紹了Shell腳本一鍵安裝Nginx服務(wù),用戶可自定義Nginx版本的腳本示例,有需要的朋友可以借鑒參考下,希望能夠參考下
    2022-03-03
  • Shell腳本實現(xiàn)簡單分割字符串

    Shell腳本實現(xiàn)簡單分割字符串

    這篇文章主要介紹了Shell腳本實現(xiàn)簡單分割字符串,本文講解使用CUT命令實現(xiàn)以逗號、分號或其它分隔符來切割字符串,需要的朋友可以參考下
    2015-02-02
  • Linux Shell的一些使用小技巧收集

    Linux Shell的一些使用小技巧收集

    這篇文章主要介紹了Linux Shell的一些使用小技巧收集,本文收集了幾十個小技巧,非常實用,需要的朋友可以參考下
    2014-12-12

最新評論

扶绥县| 蕲春县| 稻城县| 肥东县| 阳朔县| 高尔夫| 青铜峡市| 晴隆县| 镇坪县| 寻甸| 河西区| 黄龙县| 武鸣县| 甘德县| 安化县| 新竹市| 沙洋县| 诸暨市| 哈密市| 平定县| 新巴尔虎右旗| 镇康县| 陈巴尔虎旗| 邮箱| 阿荣旗| 肇州县| 铜陵市| 张家口市| 涡阳县| 利川市| 临邑县| 广德县| 山阴县| 大姚县| 德安县| 德清县| 扶余县| 大理市| 抚顺县| 屯昌县| 正蓝旗|