【发布时间】:2015-07-02 17:12:36
【问题描述】:
我正在尝试编写一个脚本,将我的桌面壁纸更改为~\Picture\Wallpapers 目录中的下一张图片。我已经创建了一个脚本,change_wallpaper,它可以将我的桌面背景更改为任何给定的图片。
我的计划是将~\Picture\Wallpapers中的所有图片作为一个数组列出,找到当前壁纸的索引i,并将change_wallpaper应用于图片数组的i+1元素。我唯一的问题是找到一种方法来记录当前壁纸的索引。我可以创建一个包含这个值的文件,但是将一个数字为 12 的文本文件保存在我的主目录中的某个位置似乎真的很不雅。
有没有更好的办法?
【问题讨论】:
-
使用文件。文件是 UNIX 中的核心概念。打个比方,你的整数就像任何守护进程的 PID 文件。作为附带的好处,您的墙纸索引将在重新启动后继续存在。
-
如果您对目录中的文件有稳定的排序顺序,您可以只使用指向当前文件的符号链接,然后获取下一个文件并更新链接。
-
@EtanReisner 好主意。也可以有两个符号链接:current 和 next,然后移动到 current 并选择合适的 next。
-
如果您正在编写将在后台连续运行的脚本(用于在特定时间后更改图像),您可以在 bash 脚本中使用变量,否则您将不得不使用文件,因为 bash 不要' t 有任何静态变量。
-
@bishop 这种方式变化不大,但可以肯定。您仍然必须以某种方式找出下一个文件。发生这种情况时,您只需更改即可。
标签: bash