bash 脚本中的用户主路径

bash 脚本中的用户主路径

我正在编写一个 bash 脚本,它将每天作为 cron 作业运行。非常基本,我想每天更换壁纸。我和伙伴有mint-14。

我现在遇到的问题是,我希望自动检测用户的主路径。如果我不这样做,我将不得不为运行该脚本的所有其他用户更改它。

到目前为止我已经尝试过:

homedir=${HOME}/Pictures/daily

mateconftool-2 -t string -s /desktop/mate/background/picture_filename $homedir;

这行不通,但是,

echo $homedir

打印出正确的路径?

编辑:

当我~user像@vonbrand 一样尝试时,建议没有区别。

mateconftool-2 -t string -s /desktop/mate/background/picture_filename ~user/Pictures/daily;

答案1

$HOME 未在 cron 中设置,因此请将其放入脚本中,然后让您的 cron 作业执行它,

(记住使用 chmod +x XX 设置该脚本的执行位)

#!/bin/bash

mateconftool-2 -t string -s /desktop/mate/background/picture_filename ~/Pictures/daily

或者在你的定时任务中,

HOME="$(getent passwd $USER | awk -F ':' '{print $6}')"
homedir=${HOME}/Pictures/daily

相关内容