精华内容
下载资源
问答
  • shell中判断文件不存在
    更多相关内容
  • 本文主要介绍了linux shell 中判断文件、目录是否存在的方法,分享给大家 -e filename 如果 filename存在,则为真 -d filename 如果 filename为目录,则为真 -f filename 如果 filename为常规文件,则为真 -L ...
  • shell判断文件是否存在

    千次阅读 2021-12-16 16:59:06
    shell判断条件 [ -f "somefile" ] :判断是否是一个文件 [ -x "/bin/ls" ] :判断/bin/ls是否存在并有可执行权限 [ -n "$var" ] :判断$var变量是否有值 [ "$a" = "$b" ] :判断$a和$b是否相等 -r file 用户可读为...

    shell判断条件

    [ -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)指定的设备为终端时为真

     

    文件表达式
    -e filename 如果 filename存在,则为真
    -d filename 如果 filename为目录,则为真 
    -f filename 如果 filename为常规文件,则为真
    -L filename 如果 filename为符号链接,则为真
    -r filename 如果 filename可读,则为真 
    -w filename 如果 filename可写,则为真 
    -x filename 如果 filename可执行,则为真
    -s filename 如果文件长度不为0,则为真
    -h filename 如果文件是软链接,则为真
    filename1 -nt filename2 如果 filename1比 filename2新,则为真。
    filename1 -ot filename2 如果 filename1比 filename2旧,则为真。


    整数变量表达式
    -eq 等于
    -ne 不等于
    -gt 大于
    -ge 大于等于
    -lt 小于
    -le 小于等于


    字符串变量表达式
    If  [ $a = $b ]                 如果string1等于string2,则为真
                                    字符串允许使用赋值号做等号
    if  [ $string1 !=  $string2 ]   如果string1不等于string2,则为真       
    if  [ -n $string  ]             如果string 非空(非0),返回0(true)  
    if  [ -z $string  ]             如果string 为空,则为真
    if  [ $sting ]                  如果string 非空,返回0 (和-n类似) 


        逻辑非 !                   条件表达式的相反
    if [ ! 表达式 ]
    if [ ! -d $num ]               如果不存在目录$num


        逻辑与 –a                   条件表达式的并列
    if [ 表达式1  –a  表达式2 ]


        逻辑或 -o                   条件表达式的或
    if [ 表达式1  –o 表达式2 ]

    #!/bin/bash
    name=123
    name1=333
    
    #判断文件是否有执行权限;-r:可读; -w:可写; -x:可执 
    if [ ! -x /home/demo/shell/111 ];then
        echo "file can not exec"
    else
        echo "file can exec"
    fi
    
    #判断文件是否为目录
    if [ ! -d /home/demo/shell/111 ];then
        echo "file is not dir"
    else
        echo "file is dir"
    fi
    
    
    #判断文件是否存在;!表示非
    #if [ -f /home/111 ];then
    if [ ! -f /home/demo/shell/111 ];then
        echo "file is not exist"
    else
        echo "file is exist"
    fi
    
    #判断$name变量是否有值
    if [ -n $name ];then
        echo "file is have value"
    else
    		echo "file is not have value"
    fi
    
    #判断$a和$b是否相等
    if [ $name = $name1 ];then
        echo "file is equal"
    else
    		echo "file is not equal"
    fi
    
    
    

    展开全文
  • shell还不是很熟练,所以做此笔记,方便查看,学习shell的朋友可以参考下
  • 判断文件是否存在: -e filename 如果 filename存在,则为真 -d filename 如果 filename为目录,则为真 -f filename 如果 filename为常规文件,则为真 -L filename 如果 filename为符号链接,则为真 -r filename ...

    判断文件是否存在:
    -e filename 如果 filename存在,则为真
    -d filename 如果 filename为目录,则为真
    -f filename 如果 filename为常规文件,则为真
    -L filename 如果 filename为符号链接,则为真
    -r filename 如果 filename可读,则为真
    -w filename 如果 filename可写,则为真
    -x filename 如果 filename可执行,则为真
    -s filename 如果文件长度不为0,则为真
    -h filename 如果文件是软链接,则为真

    例如:
    if [ -e filename ]; then (存在)
    XXX
    else
    XXX
    fi
    if [ ! -e filename ]; then(不存在)
    XXX
    else
    XXX
    fi

    判断字符串是否存在在文件中:
    if cat filename |grep “message” > /dev/null
    then
    XXX
    else(不存在)
    XXX
    fi

    /dev/null用途:
    /dev/null 通常被用于丢弃不需要的输出流,或作为用于输入流的空文件,这些操作通常由重定向完成,任何你想丢弃的数据都可以写入其中
    丢弃标准输出
    在写shell脚本的时候,只想通过命令的结果执行后面的逻辑,而不想命令执行过程中有一大堆中间结果输出,这时候可以把命令执行过程中的输入全部写入 /dev/null

    展开全文
  • # 判断文件是否存在 # link:www.jb51.net # date:2013/2/28 myPath=/var/log/httpd/ myFile=/var /log/httpd/access.log # 这里的-x 参数判断$myPath是否存在并且是否具有可执行权限 if [ ! -x $myPath]; then ...
  • shell 脚本如何判断文件是否存在

    万次阅读 2022-03-22 17:53:06
    Linux系统脚本编程判断文件是否存在的所有选项,包含判断是否常规文件、是否目录、是否链接文件、是否可执行文件等。

           在进行linux系统相关应用程序开发时,少不了要书写一些shell脚本,有时候要用到判断文件或者目录是否存在的脚本,本文笔者做一下笔记,已备后查。

    shell判断文件是否存在的脚本如下:

    //[ 与 ] 的前后必须有空格符
    if [ -f /path/file.ext ] 
    then 
         echo "The file exist"
    else
         echo "The file doesn't exist"
    fi
    
    //判断某链接是否存在
    if [ -L /path/link ] 
    then 
        echo "The link exist"
    else
        echo "The link doesn't exist"
    fi

     其实shell对于文件册测试有好几种选项开关,现在例举如下:

    表达式测试含义
    -a filepathfile exists. all files type
    -b filepathfile exists and is a block special file.
    -c filepathfile exists and is a character special file.
    -d filepathfile exists and is a directory.
    -e filepathfile exists (等同于 -a).
    -f  filepathfile exists and is a regular file.
    -g filepathfile exists and has its setgid(2) bit set.
    -G filepathfile exists and has the same group ID as this process.
    -k filepathfile exists and has its sticky bit set.
    -L filepathfile exists and is a symbolic link.
    -n filepathstring length is not zero.
    -o filepathNamed option is set on.
    -O filepathfile exists and is owned by the user ID of this process.
    -p filepathfile exists and is a first in, first out (FIFO) special file or
    named pipe.
    -r filepathfile exists and is readable by the current process.
    -s filepathfile exists and has a size greater than zero.
    -S filepathfile exists and is a socket.
    -t filepathfile descriptor number fildes is open and associated with a
    terminal device.
    -u filepathfile exists and has its setuid(2) bit set.
    -w filepathfile exists and is writable by the current process.
    -x filepathfile exists and is executable by the current process.

    展开全文
  • shell脚本判断文件是否存在

    千次阅读 2022-04-25 14:09:09
    shell判断文件是否存在的脚本如下: //[ 与 ] 的前后必须有空格符 if [ -f /opt/a.txt ] then echo “The file exist” else echo “The file doesn’t exist” fi 你可以将小编这个指令用notepad++打开一个text文件...
  • #!/bin/sh if[-x path];then #path存在 else #存在 fi 一般的普通文件判断条件是-f,但是对于设备节点等特殊文件就不行了。必须使用与文件类型或者设备类型相对应 的判断条件才行。...字符设备文件存在
  • read -ep 请输入判断文件类型: type case $type in b) if [ -b $file ];then echo 是一个block文件! else echo 不是一个block文件! fi ;; c) if [ -c $file ];then echo 是一个字符设备文件! else
  • 【代码】Shell 判断文件或文件夹是否存在不存在则创建)
  • Linux shell判断文件或者目录是否存在

    千次阅读 2022-04-18 14:12:44
    -e filename 如果 filename存在,则为真 -d filename 如果 filename为目录,则为真 -f filename 如果 filename为常规文件,则为真 -L filename 如果 filename为...-s filename 如果文件长度为0,则为真 -h filename.
  • Shell——判断文件是否存在并为空

    千次阅读 2021-12-28 20:52:23
    判断文件是否存在 file="config.yaml" if [ ! -f "$file" ] # not exist then echo "file not exist" # do something # touch "$file" else echo "file exist" fi 判断文件是否为空 如果文件为空,则一直下载...
  • # 判断文件是否存在不存在、创建文件并输入内容 file="/root/test.txt" if [ ! -f $file ];then echo "ok1" >> $file else cat $file fi 2、效果 [root@a lxy]# sh if3.sh [root@a lxy]# sh if3.sh ok1
  • Shell判断文件或目录是否存在

    千次阅读 2021-07-27 11:14:39
    一、文件比较符 -e filename 如果 filename存在,则为真 -d filename 如果 filename为目录,则为真 -f filename 如果 filename为常规文件,则为真 -L filename 如果 filename为...-s filename 如果 文件长度为0,
  • -f 判断对象是否存在,并且为常规文件 -L 判断对象是否存在,并且为符号链接 -h 判断对象是否存在,并且为软链接 -s 判断对象是否存在,并且长度为0 -r 判断对象是否存在,并且可读 -w 判断对象是否存在,...
  • 大多数情况下,可以使用测试命令来对条件进行...比如可以比较字符串、判断文件是否存在及是否可读等等。下面这篇文章就主要介绍了使用Bash Shell检查文件是否存在的方法,需要的朋友可以参考借鉴,下面来一起看看吧。
  • Linux Shell判断文件存在并且为空

    千次阅读 2022-02-10 09:20:01
    -a 检查文件是否存在 -b 检查是否为块特殊文件[1] ...检查是否为字符特殊文件[2] ...判断字符串长度是否为0 -O 检查文件是否被当前进程的user ID拥有 -p 检查文件是否为FIFO[6]特殊文件或命名管道[7] -r ...
  • 判断文件是否存在 if [ -f "/data/filename" ];then echo "文件存在" else echo "文件存在" fi
  • 最简单的应该是依靠ls返回值(当文件不存在时它会返回非零值):if ls /path/to/your/files* 1> /dev/null 2>&1; then echo "files do exist" else echo "files do not exist" fi我redirectls输出,使其完全...
  • 一、语法说明 -e filename #如果 filename为目录,则为真 -f filename #如果 filename为常规文件,则为真 -L filename #如果 filename为...-s filename #如果文件长度为0,则为真 -h filename #如果文件是软链.
  • shell 判断远程文件是否存在

    千次阅读 2019-10-10 14:46:14
    1、判断本地文件是否存在: #! bin/sh if [ -f /data/test.data ]; then echo "file found..." else echo "no such file!" fi 2、判断远程文件是否存在: #! bin/sh TEST="10.62.81.96" for ip in $TEST ...
  • 我最近写的脚本 你改改就能用 3.sh中全是 /data/test 这样的指向目录的数据 #!/bin/bash #set -x #循环读取文件目录 ...#shell判断文件夹是否存在 #如果文件夹不存在,创建文件夹 if [ ! -d “/Top
  • Shell中判断文件、目录是否存在 并新建 1、选择要判断内容属性 -e filename 如果 filename存在,则为真 -d filename 如果 filename为目录,则为真 -f filename 如果 filename为常规文件,则为真 -L filename 如果...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 128,267
精华内容 51,306
热门标签
关键字:

shell中判断文件不存在