0

好的。这就是这种情况。

我扫描到一个 ftp 文件夹。我想知道使用以下程序代码是否在该文件夹中出现了新文件。输出到 count.txt 的行数是 3,原因是其中一个文件是 .ftpquota。

所以如果我从命令行运行它

ls -1 ~/public_html/scan | wc -l > count.txt

然后运行脚本

#!/bin/bash
var=$(cut -d, -f1 count.txt)
echo "No of files is $var"

if [[ "$var" -gt 3 ]]
  then
    printf "Found new documents...\n"
  else
    printf "No new documents found.\n"
  fi

该程序运行良好,因为 $var 的值为 3。但我的问题是因为我想包含这一行

ls -1 ~/public_html/scan | wc -l > count.txt

作为脚本的一部分,它每次都会更新 count.txt,但它不起作用。换句话说,如果我这样做:

#!/bin/bash
ls -1 ~/public_html/scan | wc -l > count.txt
var=$(cut -d, -f1 count.txt)
echo "No of files is $var"

if [[ "$var" -gt 3 ]]
  then
    printf "Found new documents...\n"
  else
    printf "No new documents found.\n"
  fi

它破坏了脚本并停止工作,并且 $var 返回值 0 。请帮助。我希望更正此代码,而不是获得替代解决方案。我在这个脚本上花了几天时间,现在如果那个命令有效,我就快到了。

4

0 回答 0