Bashスクリプトのユーザーホームパス

Bashスクリプトのユーザーホームパス

私は毎日cronジョブで実行されるbashスクリプトを書いています。非常に基本的な、毎日の壁紙を変更したいです。私のパートナーと私はmint-14を持っています。

今私が持っている問題は、ユーザーのホームパスを自動的に検出したいということです。これを行わない場合は、スクリプトを実行している他のすべてのユーザーに対してこれを変更する必要があります。

私が今まで試したこと:

homedir=${HOME}/Pictures/daily

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

これはできませんが、

echo $homedir

正しいパスを印刷しますか?

編集する:

@vonbrandが提案したように試してみると~user違いはありません。

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

おすすめ記事