
나는 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