Wer auf einem Desktopsystem Dateien in den Papierkorb verschoben hat, wird vielleicht bemerkt haben, dass diese nach der Freedesktop.org Spezifikation im Ordner ~/.local/share/Trash/files abgelegt werden. Eine ähnliche Intention hat die in BASH geschriebene Anwendung bashtrash. Sie ermöglicht das Verschieben von Dateien in den Papierkorb auf einer Shell.
Zur Installation muss lediglich das Script heruntergeladen und beispielsweise im Home-Verzeichnis in einem Ordner bin abgespeichert werden. Mit chmod +x kann es als ausführbar markiert werden:
wget https://raw.githubusercontent.com/robrwo/bashtrash/master/trash -O ~/bin/trash
chmod +x ~/bin/trash
Sofern das Verzeichnis noch nicht in der PATH Umgebungsvariable hinterlegt wurde, kann dazu zur Datei ~/.bashrc folgende Anweisung hinzugefügt werden:
# User specific environment
if ! [[ "$PATH" =~ "$HOME/.local/bin:$HOME/bin:" ]]
then
PATH="$HOME/.local/bin:$HOME/bin:$PATH"
fi
export PATH
Nach dem Öffnen einer neuen tty oder dem Nachladen der Einstellungen innerhalb der aktuellen Shell mittels source ~/.bashrc steht der trash Befehl dem lokalen Benutzer zur Verfügung.
Bei einem Aufruf von trash MEINEDATEI, wird diese in den Systempapierkorb verschoben.
Uh warum nach ~/bin und nicht nach ~/.local/bin? Das wäre eigentlich genau der Ordner wo sowas hin kommt und man spart sich auch das ganze mit der geänderten Umgebungsvariablen.
Außerdem könnte man noch überlegen mit einem alias auf "rm" das ganze so umzubauen das man sein Workflow nicht ändern muss. Dafür müssen aber natürlich die Parameter von "trash" zu "rm" passen
Von einem Alias, der existierende Befehle grundsätzlich ändert und nicht nur Optionen anfügt, würde ich eher abraten, vor allem bei so was gravierendem wir "rm". Spätestens wenn an einer anderen Maschine gearbeitet wird, kann das unschöne Folgen haben, weil der Alias im Bewusstsein festgebacken ist.
Das ist wirklich nur Geschmackssache und nicht Standard. Und das setzen der Umgebungsvariable ist von Distro zu Distro unterschiedlich. Fedora setzt beispielsweise ~/bin und ~/.local/bin standardmässig, andere gar nichts.