欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

使用Bash Shell檢查文件是否存在的方法

 更新時間:2017年01月06日 15:46:16   作者:瘋狂的螞蟻  
大多數情況下,可以使用測試命令來對條件進行測試。比如可以比較字符串、判斷文件是否存在及是否可讀等等。下面這篇文章就主要介紹了使用Bash Shell檢查文件是否存在的方法,需要的朋友可以參考借鑒,下面來一起看看吧。

前言

大家在工作的時候可能經常會遇到這樣的需求,在類Unix系統(tǒng)的Bash環(huán)境下,怎樣檢查文件是否存在呢?既然有需求,當然就有解決的辦法了,Shell中的test命令,可以用來檢測文件的類型或者比較數值是否相等,該命令也能用來檢查文件是否存在。

可以用如下的命令來進行檢查:

test -e filename
[ -e filename ]
 
test -f filename
[ -f filename ]

下面的命令,則使用Shell的條件表達式,判斷/etc/hosts文件是否存在:

[ -f /etc/hosts ] && echo "Found" || echo "Not found"

該組合命令會輸出以下內容:

Found

更常見的用法,則是將test命令放置在if..else..fi條件判斷的條件表達式,然后在其中寫上不同的分支邏輯

#!/bin/bash
file="/etc/hosts"
if [ -f "$file" ]
then
 echo "$file found."
else
 echo "$file not found."
fi

檢測文件屬性的相關操作符

如果文件存在,并且具有相應的屬性,如下的操作符都會返回true:

  -b FILE
    FILE exists and is block special
  -c FILE
    FILE exists and is character special
  -d FILE
    FILE exists and is a directory
  -e FILE
    FILE exists
  -f FILE
    FILE exists and is a regular file
  -g FILE
    FILE exists and is set-group-ID
  -G FILE
    FILE exists and is owned by the effective group ID
  -h FILE
    FILE exists and is a symbolic link (same as -L)
  -k FILE
    FILE exists and has its sticky bit set
  -L FILE
    FILE exists and is a symbolic link (same as -h)
  -O FILE
    FILE exists and is owned by the effective user ID
  -p FILE
    FILE exists and is a named pipe
  -r FILE
    FILE exists and read permission is granted
  -s FILE
    FILE exists and has a size greater than zero
  -S FILE
    FILE exists and is a socket
  -t FD file descriptor FD is opened on a terminal
  -u FILE
    FILE exists and its set-user-ID bit is set
  -w FILE
    FILE exists and write permission is granted
  -x FILE
    FILE exists and execute (or search) permission is granted

以上命令,從man test復制而來。

使用上述符號的方法一模一樣:

if [ operator FileName ]
then
  echo "FileName - Found, take some action here"
else
 echo "FileName - Not found, take some action here"
fi

總結

以上就是這篇文章的全部內容了,希望本文的內容對大家的學習或者工作能帶來一定的幫助,如果有疑問大家可留言交流。

相關文章

  • shell耗時計算的實現

    shell耗時計算的實現

    本文主要介紹了shell耗時計算的實現,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2023-01-01
  • 用expect實現ssh自動登錄服務器并進行批量管理的實現方法

    用expect實現ssh自動登錄服務器并進行批量管理的實現方法

    這篇文章主要介紹用expect實現ssh自動登錄服務器并進行批量管理的實現方法,需要的朋友可以參考下
    2013-02-02
  • Linux定時執(zhí)行任務at和crontab命令詳解

    Linux定時執(zhí)行任務at和crontab命令詳解

    本篇文章主要介紹了Linux定時執(zhí)行任務at和crontab命令這兩個命令的基本用法和區(qū)別,一起學習下。
    2017-11-11
  • shell腳本如何查詢進程并殺死

    shell腳本如何查詢進程并殺死

    工作中經常需要寫一個定時腳本,需要找到一個進程,然后殺死,并定時重新啟動這個進程,這篇文章主要介紹了shell腳本查詢進程并殺死,需要的朋友可以參考下
    2023-07-07
  • Linux Shell的一些使用小技巧收集

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

    這篇文章主要介紹了Linux Shell的一些使用小技巧收集,本文收集了幾十個小技巧,非常實用,需要的朋友可以參考下
    2014-12-12
  • 淺談Linux 二進制包安裝MySQL的一些問題

    淺談Linux 二進制包安裝MySQL的一些問題

    下面小編就為大家?guī)硪黄獪\談Linux 二進制包安裝MySQL的一些問題。小編覺得挺不錯的,現在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2017-03-03
  • shell?數組?${array[@]}?${array[*]}的使用及區(qū)別解析

    shell?數組?${array[@]}?${array[*]}的使用及區(qū)別解析

    shell中用括號來表示數組,數組元素間使用空格隔開,這篇文章主要介紹了shell?數組?${array[@]}?${array[*]}的使用及區(qū)別,需要的朋友可以參考下
    2023-06-06
  • Linux目錄與文件的權限意義詳解

    Linux目錄與文件的權限意義詳解

    ls -l和ls -al的區(qū)別:第一個不會顯示隱藏文件,第二個會顯示隱藏文件(以點(.)開頭的文件)。下面通過本文給大家分享Linux目錄與文件的權限意義,需要的朋友參考下吧
    2018-03-03
  • linux ls命令教程及l(fā)s命令使用方法

    linux ls命令教程及l(fā)s命令使用方法

    學習linux這么久了,最常用的命令莫屬 ls命令了,今天就總結下ls命令的用法與經驗技巧。感興趣的朋友一起看看吧
    2017-08-08
  • Shell腳本實用的六個技巧示例

    Shell腳本實用的六個技巧示例

    本文介紹Shell腳本實用的六個技巧示例:使用Shell腳本實現自動化備份、使用Shell腳本實現定時任務、使用Shell腳本實現遠程登錄服務器、使用Shell腳本自動化部署應用、使用Shell腳本實現快速部署開發(fā)環(huán)境、使用Shell腳本實現快速檢查服務器性能
    2023-11-11

最新評論