3. 检查文件是否存在,并不是空的变量

这和2是一样的,除了这里的文件名保存在一个变量中。

#!/bin/bash

FILENAME="/tmp/myfile.txt"

if [ -f ${FILENAME} ]
then
    if [ -s ${FILENAME} ]
    then
        echo "文件存在但不为空"
    else
	echo "文件存在但为空"
    fi
else
    echo "文件不存在"
fi
Bash脚本:检查文件是否为空

在使用bash shell编程时,当我们需要读取一些文件内容时。
最好测试给定文件是否存在或是否为空。
这将保护脚本不会抛出错误。
本文将测试该文件是否存在以及该文件是否为空。

1. 检查文件是否为空

这个脚本将检查给定的文件是否为空。
按照下面的例子如果 /tmp/myfile.txt是一个空文件,那么它将显示输出为“文件为空”,否则,如果文件有一些内容,它将显示输出为“文件不为空”。

#!/bin/bash

if [ -s /tmp/myfile.txt ]
then
     echo "文件不为空"
else
     echo "文件为空"
fi

我们还可以将上面的脚本写成一行,如下所示。

#!/bin/bash

[ -s /tmp/myfile.txt ] && echo "文件不为空" || echo "文件为空"

2. 检查文件是否存在且不是空的

下面的脚本将检查该文件是否存在以及该文件是否为空。
按照下面的例子如果 /tmp/myfile.txt不存在,脚本将输出显示为“文件不存在”,如果文件存在且为空文件,则输出显示为“文件存在但为空”,否则,如果文件存在且有内容,则输出显示为“文件存在但不为空”。

if [ -f /tmp/myfile.txt ]
then
    if [ -s /tmp/myfile.txt ]
    then
        echo "文件存在但不为空"
    else
        echo "文件存在但为空"
    fi
else
    echo "文件不存在"
fi
日期:2019-05-19 01:25:33 来源:oir作者:oir