私は毎日cronジョブとして実行されるbashスクリプトを書いています。とても基本的で、毎日壁紙を変えたいと思っていました。私は仲間とミント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