當前位置:首頁 » 文件管理 » shell文件夾是否存在

shell文件夾是否存在

發布時間: 2022-12-26 02:15:11

❶ shell腳本查看目錄下是否有文件

你能不能一次把問題提完整呢。
shell 沒有提供處理文件系統的底層功能。
可以使用重定向,在得到一行後就立刻匹配,完成後立刻退出。它不需要等到ls命令完成。可以操作目錄下存在大量文件的情況。
效率最快的是這個:

ls /opt -1F --sort=none | ( read LINE;echo "$LINE"| if grep -q "/$" ; then exit 0 ;else exit 1 ; fi ;)

這個命令返回0 表示/opt 目錄下存在目錄(不代表全部都是目錄,這條命令基於你在問題中的假設)。返回非0表示包含非目錄文件。
-1 表示ls 輸出一行個文件。
-F 表示輸出的每個文件後綴一個符號表示文件類型,文件夾的後綴為 /
--sort=none 表示按照磁碟存儲順序進行輸出,不進行排序。
|grep -q '/$' 表示 如果匹配到/ 結尾的行。

最近幾天你提的問題相當零散。都不知道你的思維對不對。
shell 本身就不是高效率的語言。想要高效率應該使用其他腳本語言,例如perl 。

❷ shell判斷文件夾內是否有文件

if [ `ls directory | wc` -eq 0 ]
then
echo "文件夾為空"
fi

#directory是要判斷的文件夾,'是ESC鍵下面那個鍵不是單引號,手機不好打

❸ shell while語句 判斷文件是否存在 我要讓我的腳本等待某一文件夾自動生

# 這里的-x 參數判斷$myPath是否存在並且是否具有可執行許可權
8. if [ ! -x "$myPath"]; then
9. mkdir "$myPath"
10. fi
11.
12. # 這里的-d 參數判斷$myPath是否存在
13. if [ ! -d "$myPath"]; then
14. mkdir "$myPath"
15. fi
16.
17. # 這里的-f參數判斷$myFile是否存在
18. if [ ! -f "$myFile" ]; then
19. touch "$myFile"
20. fi

希望幫到你。

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

我暈 樓上答得這快~!!!!!

❹ shell查看sftp上是否存在某個文件夾

Shell 判斷FTP上某個路徑、文件是否存在:
#bin/bash
#進入該目錄,把文件down在這里
cd /opt/
#某個路徑的某個文件變數定義
f1=/file1/file2/filename;
ftp -i -v -n 192.x.x.x <<ok
use ftpuser ftppasswd
binary
get ${f1}
bye
ok

❺ shell 判斷目錄下是否有某文件

#!/bin/bash

if [ ! -f "$1" ];then
echo "當前目錄不存在文件: $1"
else
echo "當前目錄存在文件: $1"
fi
運行方法: ./test.sh filename (test.sh為腳本名稱,filename為文件名稱)
查找目錄為當前目錄;

❻ shell判斷文件夾是否存在

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


如果身邊就有電腦,可以跟著上文一起操作,這樣可以更好的理解喔
本文章基於Lenovo品牌、Windows10系統撰寫的。

❼ shell判斷文件,目錄是否存在或者具有許可權centos

因shell還不是很熟練,所以做此筆記,方便查看。
#!/bin/sh
myPath="/var/log/httpd/"
myFile="/var
/log/httpd/access.log"
#這里的-x
參數判斷$myPath是否存在並且是否具有可執行許可權
if
[
!
-x
"$myPath"];
then
mkdir
"$myPath"
fi
#這里的-d
參數判斷$myPath是否存在
if
[
!
-d
"$myPath"];
then
mkdir
"$myPath"
fi
#這里的-f參數判斷$myFile是否存在
if
[
!
-f
"$myFile"
];
then
touch
"$myFile"
fi
#其他參數還有-n,-n是判斷一個變數是否是否有值
if
[
!
-n
"$myVar"
];
then
echo
"$myVar
is
empty"
exit
0
fi
#兩個變數判斷是否相等
if
[
"$var1"
=
"$var2"
];
then
echo
'$var1
eq
$var2'
else
echo
'$var1
not
eq
$var2'
fi
========================================
shell
判斷語句
流程式控制制
"if"
表達式
如果條件為真則執行then後面的部分:
if
....;
then
....
elif
....;
then
....
else
....
fi
大多數情況下,可以使用測試命令來對條件進行測試。比如可以比較字元串、判斷文件是否存在及是否可讀等等…
通常用"
[
]
"來表示條件測試。注意這里的空格很重要。要確保方括弧的空格。
[
-f
"somefile"
]
:判斷是否是一個文件
[
-x
"/bin/ls"
]
:判斷/bin/ls是否存在並有可執行許可權
[
-n
"$var"
]
:判斷$var變數是否有值
[
"$a"
=
"$b"
]
:判斷$a和$b是否相等
-r
file用戶可讀為真
-w
file用戶可寫為真
-x
file用戶可執行為真
-f
file文件為正規文件為真
-d
file文件為目錄為真
-c
file文件為字元特殊文件為真
-b
file文件為塊特殊文件為真
-s
file文件大小非0時為真
-t
file當文件描述符(默認為1)指定的設備為終端時為真
#########################################################
含條件選擇的shell腳本
對於不含變數的任務簡單shell腳本一般能勝任。但在執行一些決策任務時,就需要包含if/then的條件判斷了。shell腳本編程支持此類運算,
包括比較運算、判斷文件是否存在等。基本的if條件命令選項有:
-eq
—比較兩個參數是否相等(例如,if
[
2
–eq
5
])
-ne
—比較兩個參數是否不相等
-lt
—參數1是否小於參數2
-le
—參數1是否小於等於參數2
-gt
—參數1是否大於參數2
-ge
—參數1是否大於等於參數2
-f

檢查某文件是否存在(例如,if
[
-f
"filename"
])
-d

檢查目錄是否存在

乎所有的判斷都可以用這些比較運算符實現。腳本中常用-f命令選項在執行某一文件之前檢查它是否存在。
##################################################################
判斷文件是否存在
#!/bin/sh
today=`date
-d
yesterday
+%y%m%d`
file="apache_$today.tar.gz"
cd
/home/chenshuo/shell
if
[
-f
"$file"
];then
echo
"OK"
else
echo
"error
$file"
>error.log
mail
-s
"fail
backup
from
test"
linux[email protected]
fi

❽ Shell腳本中判斷文件,目錄是否存在或者具有

#!/bin/sh
NovaPath=」/var/log/httpd/」
NovaFile=」/var /log/httpd/access.log」
#這里的-x 參數判斷$NovaPath是否存在並且是否具有可執行許可權
if [ ! -x "$NovaPath"]; then
mkdir 「$NovaPath」
fi
#這里的-d 參數判斷$NovaPath是否存在
if [ ! -d "$NovaPath"]; then
mkdir 「$NovaPath」
fi
#這里的-f參數判斷$NovaFile是否存在
if [ ! -f "$NovaFile" ]; then
touch 「$NovaFile」
fi
#其他參數還有-n,-n是判斷一個變數是否是否有值
if [ ! -n "$NovaVar" ]; then
echo 「$NovaVar is empty」
exit 0
fi
#兩個變數判斷是否相等
if [ "$var1" = "$var2" ]; then
echo 『$var1 eq $var2′
else
echo 『$var1 not eq $var2′
fi

❾ shell腳本判斷文件夾下是否有文件

search_dir=/tmp/test
include_subdir=1

if[$include_subdir-eq1];then
n=$(find$search_dir-typef-execsh-c'printf"%s ""$1";kill"$PPID"'sh{};|grep-v"Terminated"|wc-l)
else
n=$(find$search_dir-maxdepth1-typef-execsh-c'printf"%s ""$1";kill"$PPID"'sh{};|grep-v"Terminated"|wc-l)
fi

結果 n 為 0 表示指定目錄下面沒有文件,否則有文件。如果不需要檢查指定目錄下的子目錄,把 include_subdir 置為 0 即可。find 命令中較復雜的那部分是為了實現找到第一個文件時就停止查找,避免檢查有大量文件的目錄時影響性能。

熱點內容
農村醫保金融卡密碼是多少 發布:2025-08-22 08:33:59 瀏覽:662
iphone8手機如何快捷鍵清除緩存 發布:2025-08-22 08:21:57 瀏覽:425
linux編程java 發布:2025-08-22 07:57:40 瀏覽:310
steam刪文件夾 發布:2025-08-22 07:57:38 瀏覽:52
bytec語言 發布:2025-08-22 07:37:34 瀏覽:387
蘋果手機怎麼上傳視頻到qq空間 發布:2025-08-22 07:10:03 瀏覽:637
淘寶androidsdk 發布:2025-08-22 06:52:04 瀏覽:940
編程掙錢嗎 發布:2025-08-22 06:31:21 瀏覽:1003
敬請存儲 發布:2025-08-22 06:25:42 瀏覽:612
linuxphp7配置 發布:2025-08-22 06:17:01 瀏覽:417