【发布时间】:2017-10-19 06:39:08
【问题描述】:
如何实现以下目标:
- 我需要检查文件的大小
- 然后使用 if 条件和相应的条件语句将此文件大小与固定数字进行比较
到目前为止,我有以下内容:
#!/bin/bash
# File to consider
FILENAME=./testfile.txt
# MAXSIZE is 5 MB
MAXSIZE = 500000
# Get file size
FILESIZE=$(stat -c%s "$FILENAME")
# Checkpoint
echo "Size of $FILENAME = $FILESIZE bytes."
# The following doesn't work
if [ (( $FILESIZE > MAXSIZE)) ]; then
echo "nope"
else
echo "fine"
fi
使用此代码,我可以在变量 $FILESIZE 中获取文件名,但无法将其与固定整数值进行比较。
#!/bin/bash
filename=./testfile.txt
maxsize=5
filesize=$(stat -c%s "$filename")
echo "Size of $filename = $filesize bytes."
if (( filesize > maxsize )); then
echo "nope"
else
echo "fine"
fi
【问题讨论】:
-
if [ (( $FILESIZE > MAXSIZE)) ];->if (( FILESIZE > MAXSIZE ));算术运算符可以用作条件表达式。 (在((...))中不需要$)