shell判断是否文件夹
① shell:判断文件夹是不是存在,如果不存在则创建
[ -d /文件夹 ] || mkdir 文件夹
比如判断workspace 这个文件夹是否存在 不存在则创建
[ -d /workspace ] || mkdir /workpace
② Powershell 写一脚本判断在一特定路径下是否存在指定的文件夹
$filelist=gc "file.txt" #获取要检查的文件列表
$csvs= new-object collections.arraylist #创建一个arraylist对象
foreach($file in $filelist){
$csv=new-psobject|select yes,no
if([io.Directory]::Exists($file)){ #判断文件是否存在
$csv.yes=$file
}else{
$csv.no=$file
}
$null=$csvs.add($csv)
}
$csvs|Export-Csv file.csv -notype -Encoding oem #导出成csv文件
③ 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 命令中较复杂的那部分是为了实现找到第一个文件时就停止查找,避免检查有大量文件的目录时影响性能。
④ powershell判断是文件夹还是文件
#目录存在
Test-Path$path-PathTypeContainer
[System.IO.Directory]::Exists($path)
#文件存在
Test-Path$path-PathTypeLeaf
[system.IO.File]::Exists($path)
⑤ shell脚本判断是文件还是文件夹
判断Shell脚本中的变量是文件还是文件夹,可以使用if语句配合-test或[-d或-f]操作符。例如编写一个简单的脚本f.sh如下:
#!/bin/bash
file=$1
if [[ -z $1 ]];then
echo "Usage: $0 filename"
exit 0;
fi
if [ -d $file ];then
echo $file is a directory;
else
echo $file is a file;
fi
该脚本接受一个参数,检查该参数是否为空,为空则输出使用说明并退出。如果参数存在,则通过[-d $file]判断其是否为目录,如果是目录则输出相应信息,否则输出为文件。
执行示例如下:
./f.sh /opt
/opt is a directory
./f.sh /bin/ls
/bin/ls is a file
在实际应用中,这样的脚本可以用来快速判断路径对应的资源类型,简化文件系统操作的逻辑。
例如,假设你需要根据文件类型执行不同的处理操作,可以在if语句中添加更多条件,例如:
#!/bin/bash
file=$1
if [[ -z $1 ]];then
echo "Usage: $0 filename"
exit 0;
fi
if [ -d $file ];then
echo $file is a directory;
else
if [ -f $file ];then
echo $file is a regular file;
elif [ -L $file ];then
echo $file is a symbolic link;
elif [ -S $file ];then
echo $file is a socket file;
elif [ -B $file ];then
echo $file is a block device file;
elif [ -C $file ];then
echo $file is a character device file;
else
echo $file is a regular file;
fi
fi
以上脚本可以进一步细化文件类型的判断,以满足更复杂的需求。
Shell脚本的强大之处在于灵活性和可扩展性,通过简单的条件判断可以实现复杂的逻辑处理。希望这些示例能够帮助你更好地理解和使用Shell脚本。
⑥ liunx 下的shell语句 if [ ! -d /$1/$2/$3/ ]是什么意思
liunx 下的shell语句 if [ ! -d /$1/$2/$3/ ]这是判断某文件夹是否存在,$1, $2, $3都是变量,操作方法如下:
1、判断文件的基本格式。[ 操作符 文件或目录 ]。

