主頁(yè) > 知識(shí)庫(kù) > 判斷文件是否存在的shell腳本代碼

判斷文件是否存在的shell腳本代碼

熱門標(biāo)簽:江蘇云電銷機(jī)器人公司 華鋒e路航港口地圖標(biāo)注 客服外呼系統(tǒng)怎么樣 百度地圖標(biāo)注錯(cuò)了有責(zé)任嗎 揭陽(yáng)智能電話機(jī)器人推薦 打電話機(jī)器人接我是他的秘書 河南信譽(yù)好的不封卡電話外呼系統(tǒng) 地圖標(biāo)注員都是年輕人 如果做線上地圖標(biāo)注

實(shí)現(xiàn)代碼一、

#!/bin/sh
# 判斷文件是否存在
# link:www.jb51.net
# date:2013/2/28

myPath="/var/log/httpd/"
myFile="/var /log/httpd/access.log"

# 這里的-x 參數(shù)判斷$myPath是否存在并且是否具有可執(zhí)行權(quán)限
if [ ! -x "$myPath"]; then
 mkdir "$myPath"
fi
# 這里的-d 參數(shù)判斷$myPath是否存在
if [ ! -d "$myPath"]; then
 mkdir "$myPath"
fi

# 這里的-f參數(shù)判斷$myFile是否存在
if [ ! -f "$myFile" ]; then
 touch "$myFile"
fi
# 其他參數(shù)還有-n,-n是判斷一個(gè)變量是否是否有值
if [ ! -n "$myVar" ]; then
 echo "$myVar is empty"
 exit 0
fi

# 兩個(gè)變量判斷是否相等
if [ "$var1" = "$var2" ]; then
 echo '$var1 eq $var2'
else
 echo '$var1 not eq $var2'
fi

實(shí)現(xiàn)代碼二、

#shell判斷文件夾是否存在

#如果文件夾不存在,創(chuàng)建文件夾
if [ ! -d "/myfolder" ]; then
 mkdir /myfolder
fi

#shell判斷文件,目錄是否存在或者具有權(quán)限

folder="/var/www/"
file="/var/www/log"

# -x 參數(shù)判斷 $folder 是否存在并且是否具有可執(zhí)行權(quán)限
if [ ! -x "$folder"]; then
 mkdir "$folder"
fi

# -d 參數(shù)判斷 $folder 是否存在
if [ ! -d "$folder"]; then
 mkdir "$folder"
fi

# -f 參數(shù)判斷 $file 是否存在
if [ ! -f "$file" ]; then
 touch "$file"
fi

# -n 判斷一個(gè)變量是否有值
if [ ! -n "$var" ]; then
 echo "$var is empty"
 exit 0
fi

# 判斷兩個(gè)變量是否相等
if [ "$var1" = "$var2" ]; then
 echo '$var1 eq $var2'
else
 echo '$var1 not eq $var2'
fi

-f 和-e的區(qū)別

Conditional Logic on Files

-a file exists.

-b file exists and is a block special file.

-c file exists and is a character special file.

-d file exists and is a directory.

-e file exists (just the same as -a).

-f file exists and is a regular file.

-g file exists and has its setgid(2) bit set.

-G file exists and has the same group ID as this process.

-k file exists and has its sticky bit set.

-L file exists and is a symbolic link.

-n string length is not zero.

-o Named option is set on.

-O file exists and is owned by the user ID of this process.

-p file exists and is a first in, first out (FIFO) special file or

named pipe.

-r file exists and is readable by the current process.

-s file exists and has a size greater than zero.

-S file exists and is a socket.

-t file descriptor number fildes is open and associated with a

terminal device.

-u file exists and has its setuid(2) bit set.

-w file exists and is writable by the current process.

-x file exists and is executable by the current process.

-z string length is zero.

是用 -s 還是用 -f 這個(gè)區(qū)別是很大的!

您可能感興趣的文章:
  • Shell腳本創(chuàng)建指定大小文件的測(cè)試數(shù)據(jù)
  • shell按行讀取文件的3種方法
  • Shell中建立與使用臨時(shí)性文件的方法詳解

標(biāo)簽:淘寶邀評(píng) 邵陽(yáng) 馬鞍山 許昌 婁底 金昌 巴彥淖爾 赤峰

巨人網(wǎng)絡(luò)通訊聲明:本文標(biāo)題《判斷文件是否存在的shell腳本代碼》,本文關(guān)鍵詞  判斷,文件,是否,存,在的,;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問題,煩請(qǐng)?zhí)峁┫嚓P(guān)信息告之我們,我們將及時(shí)溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無關(guān)。
  • 相關(guān)文章
  • 下面列出與本文章《判斷文件是否存在的shell腳本代碼》相關(guān)的同類信息!
  • 本頁(yè)收集關(guān)于判斷文件是否存在的shell腳本代碼的相關(guān)信息資訊供網(wǎng)民參考!
  • 推薦文章