【发布时间】:2015-04-24 00:08:19
【问题描述】:
对不起,如果这是一个简单的问题,但我是 Bash 脚本的新手,我的 Google 技能让我失望。我正在尝试编写一个脚本,最终将检查目录中每个文件的最后修改时间,如果文件最后修改时间 > 3 天前,则使用 gzip 压缩文件。我目前可以在此处使用我的脚本打印出上次修改时间:
1 !#/bin/bash
2 echo "Enter directory"
3
4 read directory
5
6 for entry in "$directory"/*
7 do
8 stat -f "%Sm" "$entry"
9 done
这可以很好地打印出时间:
Randalls-MacBook-Pro:bash_scripts randallbanks$ ./print_last_modified.sh
./print_last_modified.sh: line 1: !#/bin/bash: No such file or directory
Enter directory
..
Apr 6 13:12:21 2015
Apr 19 18:50:26 2015
Apr 14 11:29:06 2015
Apr 7 12:26:37 2015
Apr 15 16:05:17 2015
Apr 6 16:28:06 2015
Apr 6 12:28:40 2015
Apr 6 12:28:40 2015
Apr 6 12:28:40 2015
Apr 6 12:28:40 2015
Apr 23 17:03:03 2015
但我无法弄清楚如何存储或解析这些内容,以便我可以检查它们的最后修改时间是否是 > 3 天前。我该怎么办?
编辑:额外问题:它显然无法在标题中识别我的 shebang 是怎么回事?
【问题讨论】:
-
助记解法:shebang 是 hash bang 的缩写,
#是 hash,!是 bang。因此,shebang 是#!。