Dla tych, którzy nie są w pętli, sl
jest humorystycznym narzędziem wiersza poleceń, które ma na celu podnieść ludzi, jeśli się pomylą ls
. Po wywołaniu drukuje Lokomotywę Steam. Na przykład:
( ) (@@) ( ) (@) () @@ 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_|
\_/ \__/ \__/ \__/ \__/ \_/ \_/ \_/ \_/ \_/
Jednak na stronie podręcznika użytkownika zawiera sl
następujący błąd:
BUGS
It rarely shows contents of current directory.
Więc pozostaje pytanie, czy są jakieś warunki, na podstawie których sl
faktycznie nie pokazują bieżący katalog?
| | | H |__--------------------| [___] | =| |
, sl je pokazuje.Odpowiedzi:
O ile mi wiadomo, jedynym warunkiem, w którym
sl
pokazuje bieżący katalog, jest błędne wpisanie go jakols
.źródło
sl
drukuje lokomotywę parowąLemma: Lokomotywa parowa zawiera ukośniki:
Wniosek:
sl
nigdy nie pokazuje bieżącego katalogu. CO BYŁO DO OKAZANIA.źródło
/
plików, które nie są dozwolone w nazwach plików systemu Unix.mkdir -p "$(dirname "$(sl)")"
możesz to zrobićtouch "$(sl)"
. Oczywiście możesz testować ograniczenia swojego systemu operacyjnego / FS. I baw się dobrze, sprzątając to./
a\
, i one oznaczają to samo.H
(na przykład), tosl
rzeczywiście go pokazuje. Po prostu pokazuje wiele innych rzeczy. :-)Oto łatka, aby naprawić ten błąd :)
źródło
rand()
„Zwraca pseudolosową liczbę całkowitą z zakresu od 0 do RAND_MAX”, która jest zależna od biblioteki, ale może nie być podzielna przez 100.man 3 exec
: „Jeśli którakolwiek z funkcji exec () powróci, wystąpi błąd. Zwracana jest wartość -1, a globalna zmienna errno zostanie ustawiona w celu wskazania błędu.”Możesz sprawdzić kod źródłowy tutaj - https://github.com/mtoyoda/sl , ale nie ma innych opcji oprócz tych udokumentowanych i niestety nic, co faktycznie wydrukuje nazwy plików.
Wygląda więc na to, że odpowiedź @ sfyn jest poprawna.
źródło
Zauważ, że odpowiedź I0b0 jest tylko dowodem,
sl
który nigdy nie wyświetli wszystkich i tylko bieżącej listy katalogów. Są jednak okoliczności, w którychsl
wyświetli się bieżąca lista katalogów wraz z dodatkowymi „informacjami”.Na przykład w pustym katalogu:
na pierwszych sześciu liniach wyświetli zawartość katalogu, a na pozostałych 10 liniach wygodnie ozdobi tę listę obrazem pociągu (bez dymu).
źródło
Wiem, że Lego Stormtroopr jest zalogowany bilet tak, że krytyczny problem może być uwzględnione. Kto wie, ile czasu może zająć wdrożenie poprawki?
W związku z tym przedstawiłem obejście, aby zminimalizować wpływ związany z poważną kwestią. Możesz utworzyć funkcję powłoki
sl
, która wykonasl
:Teraz wywoływanie
sl
sporadycznie wyświetla zawartość katalogu.źródło
Jeśli nadasz mu alias
ls
, wydrukuje bieżący katalog - w rzeczywistości, kiedy przestałem się śmiać z lokomotywy parowej, dodałem to do mojej listy aliasów.źródło
Zawsze możesz przejrzeć jego kod źródłowy i nie zobaczysz, że pod żadnym warunkiem nie wykonuje rzeczywistego
ls
polecenia ani nie wyświetla katalogów.https://github.com/mtoyoda/sl
Źródło jest właściwie dość proste. Nawet jeśli nie jesteś programistą, powinieneś być w stanie zrozumieć większość z nich.
Uważam, że „błąd”, który opublikowałeś powyżej, jest naprawdę po prostu żartem (i spowodowanie takiej dyskusji jak ten lol)
źródło
Tak,
sl
będzie działać tak samo jak ls, jeśli ustawisz odpowiedni alias w bash lub jakiejkolwiek powłoce, której używasz!Mam kilka aliasów dla ls, w tym
więc dziękuję za sugestię - dodam
(Nie to, że kiedykolwiek pamiętam pisanie,
sl
ale potem mam tendencję do nasll
lublh
!)źródło
Możesz zrobić tak samo jak ja ...
PS: Nie ma za co przywracać to ... wyszukiwanie do "sl linux command" wciąż podnosi ten wątek, więc pomyślałem, że dam prawdziwą odpowiedź, w jaki sposób zmusiłem go do wyświetlenia listy plików ...
źródło