无法从连续路径

时间:2015-12-19 00:28:51

标签: arrays bash diff

我正在制作一个每天都会运行的脚本。该脚本将一天将来自多个主机的各个配置文件与前一天的各个配置文件进行比较。我正在CentOS主机上工作,我有限制访问 - 这意味着我无法做出重大改变。

详细信息

  1. 我的主机正在运行一个cron作业,它通过hostname(hostname.txt)将其配置文件上传到通用稳定目录(/ var / log / Backups)中的sftp服务器。
  2. 服务器上的cron作业会创建一个带日期戳的目录,并将文件从/ var / log / Backups移动到/ var / log / Backups / ddmmyyyy。
  3. 后来,在所有sftp和文件移动操作之后,我想在当前目录中加载一个带有文件名的数组,并加载一个前一天目录中具有匹配文件名的数组。
  4. 我想要一个脚本来区分匹配的文件名并将信息输出到单个文本文件中。 我无法让数组加载当前的日期文件并将它们回显给终端。我收到文件操作错误。
  5. 脚本:

    #!/bin/bash
    
    # Set current date
    now=`date +%d-%m-%Y`
    echo $now
    
    base=/var/log/GmonBackups/
    loc=$base$now
    echo $loc
    
    # Load files from /var/log/GmonBackups/$now into an array
    
    t_files=`ls loc`
    echo $t_files
    

1 个答案:

答案 0 :(得分:1)

这些方面的某些内容可能会帮助您进一步发展:

.tmLanguage

几点:

  • 更喜欢$()到``
  • 请不要使用ls来获取您的文件列表,因为it's not robust
  • 我没有在变量周围加上引号,因为目录名中没有空格。