小编ape*_*son的帖子

检查进程是否正在运行,如果没有启动,最优雅的方法是什么?

我一直在用各种方法在 bash 中搞砸,我发现pgrep program > /dev/null || program这是最短/最优雅的方法。还有比这更好的方法吗?

bash

8
推荐指数
1
解决办法
7751
查看次数

从命令行获取文件的标志?

我希望能够从命令行确定文件具有什么标志。有没有办法确定这一点?另外,有没有办法从命令行应用标志?

我通常有一个 cron 作业,它会在我的 ~/Downloads 中删除超过 7 天的文件,但我希望能够只删除没有特定标志的文件(我的种子种子)。我一直在手动应用这些标志,但如果我也能自动化,那就太棒了。

我通常的 cron 工作只是一个简单的 find 命令:

find /home/zach/Downloads/ -ctime +7 -exec trash {} \;
Run Code Online (Sandbox Code Playgroud)

编辑:

我解决了我自己的问题。

奖金:

为了详细说明我在做什么,我deluge-torrent用来管理我的下载。我现在正在使用执行插件在 torrent 完成时运行这个脚本:

#!/usr/bin/env bash
# deluge gives the download directory name as the third argument
gvfs-set-attribute -t stringv "$3" metadata::emblems ubuntuone-unsynchronized
Run Code Online (Sandbox Code Playgroud)

然后我创建了我的trasher.sh(这需要trash-cli包):

#!/usr/bin/env bash
[[ "$(gvfs-info -a metadata::emblems $*)" =~ "ubuntuone-unsynchronized" ]] || trash "$*"
Run Code Online (Sandbox Code Playgroud)

现在,我只是将我的 cron 修改为:

find /home/zach/Downloads/ -maxdepth 1 -ctime +7 -exec /home/zach/Scripts/trasher.sh {} \;
Run Code Online (Sandbox Code Playgroud)

瞧!现在 …

command-line bash nautilus emblem

6
推荐指数
1
解决办法
2564
查看次数

标签 统计

bash ×2

command-line ×1

emblem ×1

nautilus ×1