当前位置:首页 » 文件管理 » 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 06:31:21 浏览:1000
敬请存储 发布:2025-08-22 06:25:42 浏览:609
linuxphp7配置 发布:2025-08-22 06:17:01 浏览:414
shellftp脚本 发布:2025-08-22 06:11:57 浏览:796
sql数据库打开 发布:2025-08-22 05:58:36 浏览:888
服务器IP怎么找回 发布:2025-08-22 05:41:28 浏览:606
手机百度怎样上传视频 发布:2025-08-22 05:28:08 浏览:832
乱码源码 发布:2025-08-22 05:26:41 浏览:204
c语言中基本的数据类型 发布:2025-08-22 05:24:25 浏览:809
Android数据库开源 发布:2025-08-22 05:18:02 浏览:631