매달 폴더를 생성하고 XDG_DESKTOP_DIR을 폴더로 전환하는 bashrc 함수

매달 폴더를 생성하고 XDG_DESKTOP_DIR을 폴더로 전환하는 bashrc 함수

데스크탑을 적극적으로 사용하다 보니 데스크탑에 파일과 폴더가 빠르게 쌓이게 됩니다.

bashrc첫날에 월을 확인한 다음 월 이름이 있는 디렉토리를 생성하고 마지막으로 설정하는 방법이 필요합니다 desktop.

답변1

답변2

먼저 이번 달의 구성을 직접 수동으로 변경하고 다음 달에 이를 실행하세요.

change_desktop()
{
month=$(date +%B)
last_month=$(date '+%B' --date '1 month ago')
mkdir /home/$USER/Desktop/$month
sed -i "s|Desktop/$last_month|Desktop/$month|" ~/.config/user-dirs.dirs 
}

이렇게 하면 데스크톱에 이번 달의 폴더가 생성된 다음 구성에서 지난 달을 찾아 이번 달로 변경됩니다.

를 사용하여 이 부분을 자동으로 실행하는 방법을 모르지만 ~/.bashrc사용자를 위해 크론 작업을 설정하고 매달 실행되도록 할 수 있습니다. change_desktop.sh다음 코드 추가 라는 파일에 이 코드 조각을 추가하면 됩니다 .

#!/bin/sh
change_desktop()
{
month=$(date +%B)
last_month=$(date '+%B' --date '1 month ago')
mkdir /home/$USER/Desktop/$month
sed -i "s|Desktop/$last_month|Desktop/$month|" ~/.config/user-dirs.dirs 
}
change_desktop

그런 다음 다음과 같이 현재 사용자에 대한 크론 작업을 생성합니다.

0 0 12 * * sh /home/$USER/change_desktop.sh

그러나 이 작업을 수동으로 수행하려면 첫 번째 코드 조각을 에 추가하고 터미널에서 ~/.bashrc실행하면 이미 에 기능이 있으므로 해당 작업이 자동으로 수행됩니다 .change_desktop~/.bashrc

답변3

나는 내 자신의 대본을 만들어 냈습니다.

new_desktop="$HOME/Desktop/$(LC_ALL=tr_TR.utf8 date +'%B-%Y')"
if [ ! -d "$new_desktop" ]; then  
   mkdir "$new_desktop" 
   xdg-user-dirs-update --set DESKTOP "$new_desktop"
   nautilus -q
fi

그러나 그것이 얼마나 신뢰할 수 있는지에 대해서는 의문이 듭니다.

관련 정보