So vermeiden Sie Konflikte bei benutzerdefinierten Befehlen
Problem
- Möglichkeit von Namenskonflikten zwischen benutzerdefinierten Shell-Skripten und Systembefehlen
- Besonders auf Systemen mit vielen verfügbaren Befehlen wie Debian steigt die Wahrscheinlichkeit von Konflikten
Lösung
- Benutzerdefinierten Befehlen ein Komma (
,) voranstellen, um sie von Systembefehlen zu unterscheiden
- Das Komma hat in Dateinamen keine besondere Bedeutung und kann daher sicher verwendet werden
Vorteile
- Die Verwendung des Kommas verhindert Befehlskonflikte
- Über die Tab-Vervollständigung lässt sich die Liste benutzerdefinierter Befehle leicht anzeigen
Beispiel
$ ,«tab»
,complete-scp ,go-thpgp ,range
,complete-ssh ,gr ,svn-store-password
,coreoff ,hss ,umount
,coreon ,mount-thpgp ,find
,mount-twt
Meinung von GN⁺
- Diese Methode kann Konflikte zwischen benutzerdefinierten Befehlen und Systembefehlen wirksam verhindern.
- Die Verwendung eines Kommas ist eine einfache, aber wirkungsvolle Lösung, die auch Einsteiger leicht anwenden können.
- Diese Technik ist besonders auf Systemen mit vielen Befehlen nützlich.
- Als Alternative kann man auch in Betracht ziehen, Befehlen ein bestimmtes Präfix voranzustellen.
- Mit dieser Methode lässt sich die Befehlsverwaltung strukturierter und effizienter gestalten.
2 Kommentare
Hacker-News-Kommentare
binan den Anfang von$PATHsetzt, lässt sich das Problem lösen.,häufig verwendet. Aus ähnlichen Gründen wird sie oft genutzt.~/.local/binhatte ich viele ausführbare Dateien, an die ich mich nicht erinnern konnte. Skriptnamen, die mit einem Komma beginnen, hätten beim Erinnern geholfen.Wie wäre es mit der Verwendung von
'_'?