bashrc-Funktion, um jeden Monat einen Ordner zu erstellen und XDG_DESKTOP_DIR dorthin zu wechseln

bashrc-Funktion, um jeden Monat einen Ordner zu erstellen und XDG_DESKTOP_DIR dorthin zu wechseln

Ich verwende den Desktop aktiv, daher sammeln sich dort schnell Dateien und Ordner an.

Ich brauche eine bashrcMöglichkeit, den Monat am ersten Tag zu überprüfen, dann ein Verzeichnis mit dem Monatsnamen zu erstellen und es schließlich festzulegen desktop.

Antwort1

Antwort2

Ändern Sie zunächst die Konfiguration für diesen Monat manuell und führen Sie sie für den nächsten Monat aus.

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 
}

Dadurch wird der Ordner für den aktuellen Monat auf dem Desktop erstellt. Anschließend wird in der Konfiguration nach dem letzten Monat gesucht und dieser in den aktuellen Monat geändert.

Ich weiß nicht, wie man dieses Teil mithilfe von automatisch ausführen kann ~/.bashrc, aber Sie können einen Cron-Job für den Benutzer einrichten und ihn jeden Monat ausführen lassen. Fügen Sie einfach diesen Codeausschnitt zu einer Datei namens hinzu und change_desktop.shfügen Sie den folgenden Code hinzu:

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

Erstellen Sie dann einen Cron-Job für den aktuellen Benutzer wie folgt:

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

Wenn Sie dies jedoch manuell tun möchten, können Sie den ersten Codeausschnitt hinzufügen und in Ihrem Terminal ~/.bashrcausführen. change_desktopEr erledigt die Arbeit für Sie, da er bereits eine Funktion in Ihrem ist ~/.bashrc.

Antwort3

Es ist mir gelungen, mein eigenes Drehbuch zu verfassen.

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

Aber ich bezweifle, wie zuverlässig es ist.

verwandte Informationen