您现在的位置是:Instagram刷粉絲, Ins買粉絲自助下單平台, Ins買贊網站可微信支付寶付款 > 

01 youtube官網網頁版登錄文件是否存在shell(Linux下簡單的判斷目錄中是否有新文件的Shell?)

Instagram刷粉絲, Ins買粉絲自助下單平台, Ins買贊網站可微信支付寶付款2024-05-31 09:16:40【】0人已围观

简介shell判斷文件夾是否存在Shell中的test命令用于檢查某個條件是否成立,它可以進行數值、字符和文件三個方面的測試,那么如何使用shell來判斷文件夾是否存在呢?今天小編就就帶大家來看看吧。文件

shell判斷文件夾是否存在

Shell中的test命令用于檢查某個條件是否成立,它可以進行數值、字符和文件三個方面的測試,那么如何使用shell來判斷文件夾是否存在呢?今天小編就就帶大家來看看吧。

文件夾不存在則創建

文件存在則刪除

判斷文件夾是否存在

判斷文件是否存在

文件比較符

如果身邊就有電腦,可以跟著上文一起操作,這樣可以更好的理解喔

本文章基于Lenovo品牌、Windows10系統撰寫的。

linux shell 如何判斷一個文件是否存在

了解你的意思,首先,test命令是判斷某一個特定的文件相關信息,也就是當你使用test這個命令的時候,你是清楚它叫什么名字的(只是你不知道它的相關信息)。如果你要判斷比如你說的以hbc*開頭的一類文件,最好就是使用ls命令或者find命令來作。你可以參考一下,下面的小測試。

mike >>> ls -d ??? 12-04-20 23:15

acp/ apc/ scl tmp/ xmy/

mike >>> test -d x?? 12-04-20 23:15

mike >>> echo $? 12-04-20 23:16

0

mike >>> test -d x* 12-04-20 23:16

test: too many arguments

使用find命令能很好查找已hbc開頭的文件或者目錄,但是它不能判斷有沒有這樣的文件,因為你不能通過find的命令執行狀態來判斷是否有這樣的文件,但是可以把find的輸出導向到一個文件,從而對文件進行判斷。如下:

mike >>> find ./ -type d -name "FUK*" -print 12-04-20 23:24

mike >>> echo $? 12-04-20 23:24

0

在shell中判斷一個文件是否為空

首先:-f判斷是不是文件; -d判斷是不是目錄;-e判斷文件/目錄是否存在;-s判斷文件長度是否不為0,當-s后面跟目錄是,總是返回真

在Linux中寫腳本的時候,總免不了需要判斷文件是否存在、文件內容是否為空等存在,而這些操作都可以用 test  指令來實現,通過 man test 指令可以查看關于test指令的手冊,手冊中有如下說明:

在shell中通過test指令測試文件是否為空的示例腳本如下:

在shell中,test指令還有另外一種寫法,上面的腳本和下面的腳本是等價的:

Linux下簡單的判斷目錄中是否有新文件的Shell?

因shell還不是很熟練,所以做此筆記,方便查看。

#!/bin/sh

myPath="/var/log/買粉絲d/"

myFile="/var/log/買粉絲d/access.log"

#這里的-x參數判斷$myPath是否存在并且是否具有可執行權限

if;then

mkdir"$myPath"

fi

#這里的-d參數判斷$myPath是否存在

if;then

mkdir"$myPath"

fi

#這里的-f參數判斷$myFile是否存在

if;then

touch"$myFile"

fi

#其他參數還有-n,-n是判斷一個變量是否是否有值

if;then

echo"$myVarisempty"

exit0

fi

#兩個變量判斷是否相等

if;then

echo'$var1eq$var2'

else

echo'$var1noteq$var2'

fi

========================================

shell判斷語句

流程控制"if"表達式如果條件為真則執行then后面的部分:if....;then

....

elif....;then

....

else

....

fi

大多數情況下,可以使用測試命令來對條件進行測試。比如可以比較字符串、判斷文件是否存在及是否可讀等等?通常用""來表示條件測試。注意這里的空格很重要。要確保方括號的空格。

:判斷是否是一個文件

:判斷/bin/ls是否存在并有可執行權限

:判斷$var變量是否有值

:判斷$a和$b是否相等-rfile用戶可讀為真

-wfile用戶可寫為真

-xfile用戶可執行為真

-ffile文件為正規文件為真

-dfile文件為目錄為真

-cfile文件為字符特殊文件為真

-bfile文件為塊特殊文件為真

-sfile文件大小非0時為真

-tfile當文件描述符(默認為1)指定的設備為終端時為真

#########################################################

含條件選擇的shell腳本

對于不含變量的任務簡單shell腳本一般能勝任。但在執行一些決策任務時,就需要包含if/then的條件判斷了。shell腳本編程支持此類運算,

包括比較運算、判斷文件是否存在等。基本的if條件命令選項有:-eq—比較兩個參數是否相等(例如,if)

-ne—比較兩個參數是否不相等

-lt—參數1是否小于參數2

-le—參數1是否小于等于參數2

-gt—參數1是否大于參數2

-ge—參數1是否大于等于參數2

-f—檢查某文件是否存在(例如,if)

-d—檢查目錄是否存在

幾乎所有的判斷都可以用這些比較運算符實現。腳本中常用-f命令選項在執行某一文件之前檢查它是否存在。##################################################################判斷文件是否存在

#!/bin/sh

today=`date-dyesterday+%y%m%d`

file="apache_$today.tar.gz"

cd/home/chenshuo/shell

if;then

echo"OK"

else

echo"error$file">error.log

mail-s"failbackupfromtest"linuxcy@126.買粉絲fi

Shell 判斷FTP上某個路徑、文件是否存在

如果FTP上的文件很大,獲取文件會很費時。應該可以不用獲取直接判斷的,下面供借鑒:

#!/bin/bash

server=127.0.0.1 #改為你自己的FTP服務器IP

user=root #修改為你自己的FTP登錄用戶名

password=root #修改為你自己的FTP用戶密碼

errlog=./err.log #用于記錄FTP錯誤

ftpCheckFile()

{

ftp -n -i $server <<EOF

USER $user

PASS $password

ls $1

bye

EOF

}

rm -f $errlog

ftpCheckFile $1 >/dev/null 2>$errlog

bytes=`wc -c $errlog | awk '{ print $1}'`

if [ $bytes -eq 0 ]; then

      echo "$1 - Exist!"

else

      echo "$1 - Not exist!"

fi

用的時候在腳本名后跟一個參數,就是你要判斷的文件名或路徑名。

思路:如果文件或路徑不存在,FTP中的ls命令會執行錯誤,從而在錯誤日志err.log中有記錄。

通過解析該錯誤日志的內容,可以得知文件或目錄是否存在。

我這里暫時沒有環境試驗,所以沒法得知錯誤日志的格式,只能暫且通過判斷日志字節大小是否為0來看是否發生了錯誤,而無法確定具體錯誤種類。

很赞哦!(29)

Instagram刷粉絲, Ins買粉絲自助下單平台, Ins買贊網站可微信支付寶付款的名片

职业:程序员,设计师

现居:广西南宁马山县

工作室:小组

Email:[email protected]