Bash
bash 腳本中的使用者主路徑
我正在編寫一個 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