首页 > 系统相关 >shell脚本之检测文件类型

shell脚本之检测文件类型

时间:2022-09-29 14:59:50浏览次数:44  
标签:脚本 文件 shell filename else fi 文件类型 echo 输入

1.功能:输入路径,检测文件类型。

2.复习:shell while循环,if条件语句,file命令使用等。

3.代码实现:

cat file.sh

[root@VM-4-13-centos shell]# cat file.sh 
#!/bin/bash
while true
do 
read -p "输入文件名称或者目录(输入break退出循环):" filename;
if [ $filename = "break" ]
then
        echo "已退出循环";
        break;
fi
if [ -e $filename ]  
then
        echo "经检测,输入的文件或者目录存在...";
else
        echo "经检测,输入的文件或者目录不存在,请重新输入"
fi
if [ -f $filename ]
then 
        echo "进一步检测到,输入的是一个文件且为一个普通文件"
#判断该文件是否为空
if [ -s $filename ]
then 
        echo "该文件非空"
else    
        echo "该文件为空"
fi
#判读文件是否是软链接
if [ -L $filename ]
then 
        echo "该文件是一个软链接";
fi
# 判读文件是否可读
if [ -r $filename ]
then
        echo "该文件可读";
else  
        echo "该文件不可读";
fi
#判断文件是否可写
if [ -w $filename ]
then
        echo "该文件可写入";
else
        echo "该文件不可写入";
fi
#该文件是否可执行
if [ -x $filename ]
then 
        echo "该文件可执行";
else
        echo "该文件不可执行";
fi

else
if [ -c $filename ]
then
        echo "该文件为字符设备文件";
fi
if [ -b $filename ]
then
        echo "该文件为块设备文件"
fi
if [ -p $filename ]
then 
        echo "该文件为管道文件";
fi
fi
if [ -d $filename ]
then    
        echo "进一步检查到,输入的是一个目录";
fi 
done

 

标签:脚本,文件,shell,filename,else,fi,文件类型,echo,输入
From: https://www.cnblogs.com/joyware/p/16741544.html

相关文章

  • 使用Oracle的sshUserSetup.sh脚本配置SSH互信
    不管是在Oracle的GRID安装包,还是DB安装包里都有个脚本(sshUserSetup.sh),用于配置机器之间的SSH互信。配置互信,不仅仅在安装RAC需要配置。有时候我们需要配置ssh互信的时候,用......
  • jmeter录制登录脚本
    1、添加代理服务器在非测试元件添加http代理服务器,端口写8888,域写127.0.0.1在排除模式里填入.*.(js|css|PNG|jpg|ico|png|gif|woff|ttf).*2、添加一个线程组在线程......
  • 数据库复制订阅问题解决脚本
    --查列表select*frommsdb.dbo.MSdistpublishersDELETEFROMmsdb.dbo.MSdistpublishersselect*frommsdb.dbo.MSdistpublishers--增加execsp_droplinkedsrvl......
  • 关于PHP的webshell免杀小结
    0X00普通的一句话木马(适用于CTF和小站)<?phpeval($_POST['a']);?>//函数的相似替换<?phpassert($_POST['a']);?><?php@eval($_POST['110']);?>与第一个一句话木马......
  • powershell 检查电脑指定软件安装情况
    `#1获取当前日期$collect_date=Get-Date-Format"yyyy-MM-ddHH_mm"2获取计算机主机名$ComputerName=hostname3定义需要查询的软件名称$AppDisplayName="Anyshar......
  • highlight.js代码高亮脚本的基本用法
    一、准备highlight.js官网下载界面中文文档点击Getversion进行下载勾选语言进行下载下载好的文件结构二、引入highlight的CSS样式和js文件引......
  • bat脚本静默安装软件示例
    @echooffrem设置共享路径名和执行文件名set"Route=\\dc1\netlogon"set"EDR_EXE=edr_installer_192.168.2.221_443.exe"rem不可修改set"ProcessFlag=edr_monitor.exe"......
  • Powershell ExecutionPolicy 执行策略
    简单说明:powershell对于脚本的执行有着严格的安全限制Get-ExecutionPolicy-List#查看当前的执行策略Set-ExecutionPolicy-ScopeCurrentUserRemoteSigned#设置执行策略......
  • shell特殊符号下
    ####$变量前缀,正则里面表示行尾#!$是一个组合#~用户家目录,正则表达式表示匹配符#&放到命令后面,会把命令丢到后台#[指定字符中的一个,[0-9],[a-zA-Z],[abc]#;多条命令写......
  • Linux开发环境搭建与使用——通过xshell远程连接ubuntu
    由于xshell远程连接ubuntu是通过ssh协议的,所以,需要给ubuntu安装ssh服务器。1)ubuntu安装ssh服务器sudoapt-getinstallopenssh-server2)出现问题时,重启ssh服务即可sudoserv......