bashrc função para criar uma pasta a cada mês e mudar XDG_DESKTOP_DIR para ele

0

Estou usando ativamente a área de trabalho, para que os arquivos e pastas se acumulem rapidamente na área de trabalho.

Eu preciso de uma bashrc maneira que ele verifica mês no primeiro dia, em seguida, cria um diretório com o nome do mês, finalmente, define desktop .

    
por kenn 28.11.2017 / 21:16

3 respostas

1

por 28.11.2017 / 21:46
1

Primeiro, altere manualmente a configuração para este mês e execute-a no próximo mês.

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 
}

Isso criará a pasta do mês atual no Google Desktop e, em seguida, procurará o último mês na configuração e alterá-lo para o mês atual.

Eu não sei como executar essa peça automaticamente usando o ~/.bashrc , mas você pode configurar uma tarefa cron para o usuário e deixá-lo executar todos os meses. Basta adicionar este snippet de código a um arquivo chamado change_desktop.sh , adicione o seguinte código:

#!/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

Em seguida, crie uma tarefa cron para o usuário atual assim:

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

Se, no entanto, você quiser fazer isso manualmente, é possível adicionar o primeiro snippet de código ao ~/.bashrc e executar change_desktop no seu terminal e ele fará o trabalho por você, pois ele já é uma função do seu ~/.bashrc .

    
por 28.11.2017 / 21:56
1

Eu consegui inventar meu próprio roteiro.

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

Mas duvido de quão confiável é.

    
por 29.11.2017 / 12:44