首页 > 系统相关 >shell-文件运算符

shell-文件运算符

时间:2024-04-25 18:56:51浏览次数:22  
标签:文件 file1 shell file2 read filename 运算符 sh echo

一、常用文件测试运算符

文件是否存在:  [[ -e filename ]]
      是否可读:   [[ -r  filename ]]
      是否可写:   [[ -w filename ]]
   是否可执行:   [[ -x filename ]]
      是否为空:   [[ -s filename]]
   是否为目录:  [[ -d filename ]]
是否为普通文件: [[ -f filename ]]

示例:

结果演示
[root@vm-paas scwyfy]# sh file_operation.sh 
请输入文件名称1 文件名称2 read.sh read2.sh
read.sh存在
read.sh可写
read2.sh比read.sh新

文件内容
[root@vm-paas scwyfy]# cat file_operation.sh 
#!/bin/bash

read -p "请输入文件名称1 文件名称2" file1 file2


if [[ -e $file1 ]]
then 
   echo "${file1}存在"
else 
   echo "${file}不存在"
fi

if [[ -w $file1 ]]
then 
   echo "${file1}可写"
else 
   echo "${file1}不可写"
fi

if [[ $file1 -nt $file2 ]]
then 
   echo "${file1}比${file2}新"
else 
   echo "${file2}比${file1}新" 

fi
[root@vm-paas scwyfy]# 

  

标签:文件,file1,shell,file2,read,filename,运算符,sh,echo
From: https://www.cnblogs.com/yuefeng123/p/18158358

相关文章

  • 【shell】磁盘监控脚本
    日志疯狂增长,咋整呢,磁盘达到一定比例,重启服务,删除日志....~]#catdisk_use_info.sh#!/bin/bashDISK_USAGE=$(df-h--output=pcent/|tail-n+2|cut-d'%'-f1)if[[$(awk'{if($1>80)print1;elseprint0}'<<<"$DISK_USAGE")-eq1......
  • windows xshell登录docker
    xshell远程连接dokcerhttps://blog.csdn.net/RamaYu/article/details/123065667ubuntu重启sshdservicesshrestartdockerrun-itd--nameubuntu--privilegedf9a80a55f492dockercommit-a"ubuntu"-m"ubuntu"724cfcd55f8dubuntu:18.04docker......
  • 前端工程师-自动拉取iconfont的批处理文件-windows10版本-用到了powershell的解压功能
    直接上代码,有任何问题直接留言,我们一起讨论  @echooffSETdirName=替换成压缩包解压后希望叫的名字SETOldPattern=font_*_*rmdir/q/s"删除原来的iconfont文件夹,这里替换成原来的文件夹的地址"curl--output%这里的地址是你想把从iconfont上下载下来的安装包......
  • 如何使用 SFDX CLI 拉取存储在 Public 文件夹的邮件模版(How to retrieve an email tem
    SELECTDeveloperName,FolderName,IsActiveFROMEmailTemplateSELECTDeveloperName,Folder.DeveloperName,IsActiveFROMEmailTemplate使用下面的命令可以正确获取到public文件夹下的邮件模版sfdxforce:source:retrieve-mEmailTemplate:unfiled\$public\/My_te......
  • Linux给文件隔两个字符插入-
    需求:如下maclist.txt文件,每行都是固定个数字符串,现在需要在每行隔两个字符插入一个- 解决方案:使用sed命令进行插入替换,并将内容重新写入new.txt文件中sed  s/是sed替换命令参数,\(.\)匹配任意一个字符,\1和\2分别引用第一个和第二个括号内匹配的值,-是要插入的字......
  • 17.prometheus服务发现&基于文件的服务发现
    一、服务发现Prometheus中是如何使用服务发现来查找和抓取目标的。我们知道在Prometheus配置文件中可以通过一个static_configs来配置静态的抓取任务,但是在云环境下,特别是容器环境下,抓取目标地址是经常变动的,所以用静态的方式就不能满足这些场景了,还有特别在很多服务器需要......
  • vscode 配置c/c++环境,无法生成 *.exe文件
    ​【问题】:    使用vscode配置c/c++环境时,提示无法构建失败。 【解决方案】:    1.当前结合网上找的资料已经检查过,tasks.json和launch.json文件,并无配置错误。    2.F5调试时,终端输出错误调试信息如下:启动调试任务时,执行了2条命令。1)cmd/c......
  • python读取yaml配置文件的方法
    yaml简介1.yaml[ˈjæməl]:YetAnotherMarkupLanguage:另一种标记语言。yaml是专门用来写配置文件的语言,非常简洁和强大,之前用ini也能写配置文件,看了yaml后,发现这个更直观,更方便,有点类似于json格式2.yaml基本语法规则:大小写敏感使用缩进表示层级关系缩进时不允许使用Ta......
  • 多个excel文件合并成一个
    https://blog.csdn.net/yswKnight/article/details/112861212'功能:把多个excel工作簿的第一个sheet工作表合并到一个excel工作簿的多个sheet工作表,新工作表的名称等于原工作簿的名称SubBooks2Sheets()'定义对话框变量DimfdAsFileDialogSetfd=Application.......
  • spark standalone同时运行pyspark和spark-shell
    需要限制资源数量,使用spark.cores.max或--total-executor-cores来指定最大核数。假设集群一共4c5.6gpyspark(使用2c2g)frompyspark.sqlimportSparkSessionspark=SparkSession.builder\.master("spark://worker1:7077")\.appName("pysparkApp")\.......