Bash

bash 腳本中的使用者主路徑

  • March 3, 2013

我正在編寫一個 bash 腳本,它將每天作為 cron 作業執行。非常基本,我想每天更換桌面。我和 mate 有 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;

$HOME 沒有在 cron 中設置,所以把它放在一個腳本中,然後讓你的 cron 作業執行它,

(記得用 chmod +x XX 設置該腳本的執行位)

#!/bin/bash

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

或者在你的 cronjob 中,

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

引用自:https://unix.stackexchange.com/questions/66684