當前位置:首頁 » 編程軟體 » shell腳本怎麼判斷目錄

shell腳本怎麼判斷目錄

發布時間: 2022-08-28 08:48:05

『壹』 shell 腳本 判斷是不是目錄

在 Linux 的 SHELL 編程中,使用 -d filename 選項來判斷 filename 是否為目錄,若 filename 為目錄,則返回值為真。

『貳』 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 命令中較復雜的那部分是為了實現找到第一個文件時就停止查找,避免檢查有大量文件的目錄時影響性能。

『叄』 編寫一個shell腳本,依次判斷位置參數$1-$9代表的文件名,在當前目錄下是否存在

題主你好,

代碼及測試截圖如下:

說明: 上圖共有3條命令:

第一條: ls -l列出了當前文件夾中共有5個文件, 分別為A,B,C,D,user.sh.這裡面user.sh是我們的腳本文件;

第二條: cat user.sh 看一下user.sh這個腳本中的內容;

第三條: ./user.sh A B C E 執行腳本;

*.這裡面代碼中沒有明確給出$1-$9,而是直接使用的$@,題主看一下,如果不行的話代碼可以改成包含$1到$9的

希望可以幫到題主,歡迎追問

『肆』 shell腳本,判斷一個目錄內是文件還是子目錄

說下幾種思路:
1)
find
.
-type
f
2)
find
!
-type
d
3)
ls
-Rl
|
awk
'NF>2&&/^[^d]/'
這三種情況可作相同判斷:如果結果為空,那就全是目錄。
在上述命令後加
>/dev/null
2>&1,然後判斷:
if
[
$?-eq
0
];
then
echo
"All
are
files."
else
echo
"All
are
directories."
fi

『伍』 shell腳本如何判斷目錄下的多個文件夾是否為空

directoy=./
find
${directoy}
-type
d
|
xargs

-sh
|
grep
^0
|
awk
'{print
$2}'
先在指定目錄下查找
目錄文件,
然後用

-sh
計算目錄大小,
找出大小為0的目錄,然後列印出來即可
若是不希望循環查找下去,可以只查找本級目錄:
ls
-l
|
grep
^d
|
awk
'{print
$NF}'
|
xargs

-sh
|
grep
^0
|
awk
'{print
$2}'
還有個比較完善的解答:
directoy=./
ls
-l
${directoy}
|
grep
^d
|
awk
'{printf("%s/%s\n",dir,$NF)}'
dir=${directoy}
|
xargs

-sh
|
grep
^0
|
awk
'{print
$2}'

『陸』 shell腳本實現用戶鍵盤輸入目錄名,判定/home目錄下是否有同名的目錄存在

vim shdir.sh

#!/bin/bash
read -p "輸入文件夾名稱:" dir
if [ -d /home/$dir ]
then
echo $dir
else
mkdir $dir
fi
chmod u+x shdir.sh
這個腳本不能檢測和創建帶空格的文件夾

『柒』 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腳本,對任意指定的目錄,判斷目錄是否存在。若存在,遍歷此目錄中所有

咨詢記錄 · 回答於2021-08-05

熱點內容
php的特點與優勢 發布:2025-02-08 02:43:16 瀏覽:716
微信公眾號怎麼上傳pdf 發布:2025-02-08 02:42:41 瀏覽:345
安卓如何查看通話總時長 發布:2025-02-08 02:27:49 瀏覽:578
快速dct演算法 發布:2025-02-08 02:19:04 瀏覽:622
淘寶交易密碼如何改 發布:2025-02-08 02:17:32 瀏覽:774
php的進階 發布:2025-02-08 02:17:28 瀏覽:677
伺服器關閉中或IP地址錯誤 發布:2025-02-08 02:16:55 瀏覽:479
節目腳本是什麼 發布:2025-02-08 02:08:54 瀏覽:143
android的自定義屬性 發布:2025-02-08 02:07:27 瀏覽:608
怎麼看電腦的用戶名和密碼 發布:2025-02-08 02:02:48 瀏覽:796