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

관련 정보