私は毎日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