Für diejenigen, die nicht in der Schleife sind, sl
ist es ein humorvolles Kommandozeilen-Tool, das dazu gedacht ist, Leute zu stolpern, wenn sie sich vertippen ls
. Beim Aufrufen wird eine Dampflokomotive gedruckt. Zum Beispiel:
( ) (@@) ( ) (@) () @@ O @ O @ O
(@@@)
( )
(@@@@)
( )
==== ________ ___________
_D _| |_______/ \__I_I_____===__|_________|
|(_)--- | H\________/ | | =|___ ___| _________________
/ | | H | | | | ||_| |_|| _| \_____A
| | | H |__--------------------| [___] | =| |
| ________|___H__/__|_____/[][]~\_______| | -| |
|/ | |-----------I_____I [][] [] D |=======|____|________________________|_
__/ =| o |=-O=====O=====O=====O \ ____Y___________|__|__________________________|_
|/-=|___|= || || || |_____/~\___/ |_D__D__D_| |_D__D__D_|
\_/ \__/ \__/ \__/ \__/ \_/ \_/ \_/ \_/ \_/
In der Manpage für sl
wird jedoch der folgende Fehler angezeigt:
BUGS
It rarely shows contents of current directory.
Die Frage bleibt also, gibt es einige Bedingungen, unter denen das aktuelle Verzeichnis sl
tatsächlich angezeigt wird ?
| | | H |__--------------------| [___] | =| |
sl zeigt.Antworten:
Soweit ich weiß, ist die einzige Bedingung, unter der
sl
das aktuelle Verzeichnis angezeigt wird, wenn Sie es als falsch eingebenls
.quelle
sl
druckt eine DampflokLemma: Die Dampflokomotive enthält Schrägstriche:
Fazit:
sl
Zeigt nie das aktuelle Verzeichnis an. QED.quelle
/
Dateien, die in Unix-Dateinamen nicht zulässig sind.mkdir -p "$(dirname "$(sl)")"
, konnten Sie tuntouch "$(sl)"
. Natürlich testen Sie möglicherweise die Grenzen Ihres OS / FS. Und viel Spaß beim Aufräumen./
und\
und sie bedeuten dasselbe.H
, wirdsl
diese tatsächlich angezeigt. Es ist nur so, dass es auch viele andere Dinge zeigt. :-)Hier ist ein Patch, um diesen Fehler zu beheben :)
quelle
rand()
"Gibt eine pseudozufällige Integralzahl im Bereich zwischen 0 und RAND_MAX zurück", die bibliotheksabhängig ist, aber möglicherweise nicht durch 100 teilbar ist.man 3 exec
: "Wenn eine der exec () - Funktionen zurückgegeben wird, ist ein Fehler aufgetreten. Der Rückgabewert ist -1, und die globale Variable errno wird gesetzt, um den Fehler anzuzeigen."Sie können den Quellcode hier überprüfen - https://github.com/mtoyoda/sl , leider gibt es keine anderen Optionen als die dokumentierten und leider nichts, das die Namen der Dateien tatsächlich druckt.
Es sieht also so aus, als ob @ sfyns Antwort die richtige ist.
quelle
Beachten Sie, dass die Antwort von I0b0 nur ein Beweis ist,
sl
der niemals alle und nur die aktuelle Verzeichnisliste anzeigt . Es gibt jedoch Umstände, unter denensl
die aktuelle Verzeichnisliste zusammen mit zusätzlichen 'Informationen' angezeigt wird.Zum Beispiel in einem leeren Verzeichnis:
In den ersten sechs Zeilen wird der Inhalt des Verzeichnisses aufgelistet, und in den verbleibenden 10 Zeilen wird diese Auflistung bequem mit einem Bild eines Zuges (ohne Rauch) verschönert.
quelle
Ich weiß, dass Lego Stormtroopr ein Ticket protokolliert hat, damit das kritische Problem behoben werden kann. Wer weiß, wie lange es dauern kann, bis ein Update verfügbar ist?
Daher habe ich eine Problemumgehung bereitgestellt, um die Auswirkungen aufgrund des gravierenden Problems zu minimieren. Sie können eine Shell-Funktion erstellen
sl
, die Folgendes ausführen würdesl
:Jetzt
sl
listet der Aufruf sporadisch den Verzeichnisinhalt auf.quelle
Wenn Sie einen Alias verwenden
ls
, wird das aktuelle Verzeichnis gedruckt. Sobald ich aufgehört habe, über die Dampflokomotive zu lachen, habe ich das zu meiner Aliase-Liste hinzugefügt.quelle
Sie können den Quellcode jederzeit selbst überprüfen und sehen, dass er unter keinen Umständen den tatsächlichen
ls
Befehl ausführt oder Verzeichnisse anzeigt.https://github.com/mtoyoda/sl
Die Quelle ist eigentlich ziemlich einfach. Auch wenn Sie "kein Programmierer" sind, sollten Sie das meiste verstehen können.
Ich glaube, der "Bug", den Sie oben gepostet haben, ist wirklich nur ein Scherz (und um Diskussionen wie diese zu verursachen, lol)
quelle
Ja,
sl
verhält sich wie ls, wenn Sie den entsprechenden Alias in bash oder einer anderen von Ihnen verwendeten Shell einrichten!Ich habe tatsächlich mehrere Alias für ls einschließlich
also danke für den vorschlag - werde ich hinzufügen
(Nicht, dass ich mich jemals an das Tippen erinnern würde,
sl
aber dann neige ich zu unsll
oderlh
!)quelle
Das könnte man genauso machen wie ich auch ...
PS: Gerne können Sie dies wiederbeleben. Wenn Sie nach "sl linux command" suchen, wird dieser Thread immer noch angezeigt. Ich dachte, ich würde eine echte Antwort darauf geben, wie ich die Dateien aufgelistet habe.
quelle