1

我正在尝试编写一个脚本,该脚本将报告上次在文件夹中更新文件的时间。这些文件夹每天都会创建 例如:/home/user/todaysdate。在 todaysdate 文件夹中存在创建某些内容时创建的文件夹。例如,我们将有 fol1 fol2 fol3。我正在尝试获取一个脚本来登录每个文件夹并显示最后创建文件的时间。

#!/bin/bash
folder=`date +%Y%m%d`
ssh -q server "cd /home/user/$folder/ ; bash -c "ls -la | uniq" > list.txt

这将创建一个包含不同文件夹的列表。现在我需要 ssh 进入我被卡住的每个文件夹。list.txt 的输出将是: fol1 fol2 fol3

ssh -q server "bash -c \"ls -ltr /home/user/$folder/<Need List Variable Here> | tail -1\"" awk '{print $8}

上面的命令给了我时间。我相信我需要一个 while 循环来 ssh 进入服务器并进入在 list.txt 中创建的变量,但我无法继续工作。有什么帮助吗?

4

1 回答 1

1

如果 list.txt 是空格分隔的(例如“fol1 fol2 fol3”),请尝试 bash for/in 循环:

for folder in $(cat list.txt);
do
    echo $folder;
done

如果 list.txt 是换行符分隔然后尝试 bash while 循环:

cat list.txt | while read folder;
do
    echo $folder;
done

有关 bash 循环的更多信息,请参阅此页面。

http://tldp.org/HOWTO/Bash-Prog-Intro-HOWTO-7.html

于 2013-04-05T03:26:23.433 回答