Para quem está fora do circuito, sl
é uma ferramenta de linha de comando cômica, destinada a enganar as pessoas se elas digitarem errado ls
. Quando invocado, imprime uma locomotiva a vapor. Por exemplo:
( ) (@@) ( ) (@) () @@ 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_|
\_/ \__/ \__/ \__/ \__/ \_/ \_/ \_/ \_/ \_/
No entanto, na página do manual sl
, ele declara o seguinte bug:
BUGS
It rarely shows contents of current directory.
Assim, a questão permanece, existem algumas condições, sob as quais sl
realmente não mostrar o diretório atual?
| | | H |__--------------------| [___] | =| |
, sl os mostra.Respostas:
Até onde eu sei, a única condição na qual
sl
mostra o diretório atual é quando você o digita erradols
.fonte
sl
imprime uma locomotiva a vaporLema: A locomotiva a vapor contém barras:
Conclusão:
sl
nunca mostra o diretório atual. QED.fonte
/
'es, que não são permitidos nos nomes de arquivos do Unix.mkdir -p "$(dirname "$(sl)")"
você poderia fazertouch "$(sl)"
. Obviamente, você pode estar testando os limites do seu OS / FS. E divirta-se limpando isso./
e\
, e eles significam a mesma coisa.H
(por exemplo),sl
ele realmente o mostra. É que também mostra muitas outras coisas. :-)Aqui está um patch para corrigir esse bug :)
fonte
rand()
"Retorna um número inteiro pseudo-aleatório no intervalo entre 0 e RAND_MAX", que é a biblioteca-dependente, mas pode não ser divisível por 100.man 3 exec
: "Se alguma das funções exec () retornar, ocorrerá um erro. O valor de retorno é -1 e a variável global errno será configurada para indicar o erro."Você pode verificar o código fonte aqui - https://github.com/mtoyoda/sl , mas não há outras opções além das documentadas e, infelizmente, nada que realmente imprima os nomes dos arquivos.
Parece que a resposta do @ sfyn é a correta.
fonte
Observe que a resposta de I0b0 é apenas uma prova que
sl
nunca exibirá toda e apenas a lista de diretórios atual. No entanto, há circunstâncias em quesl
a lista de diretórios atual será exibida juntamente com 'informações' adicionais.Por exemplo, em um diretório vazio:
nas seis primeiras linhas listará o conteúdo do diretório e nas 10 linhas restantes embelezará convenientemente essa listagem com a imagem de um trem (sem fumaça).
fonte
Eu sei que Lego Stormtroopr tem registrado um ingresso de modo que a questão crítica pode ser abordada. Quem sabe quanto tempo leva para uma correção ser lançada?
Como tal, forneci uma solução alternativa para minimizar o impacto devido ao grave problema. Você pode criar uma função shell
sl
que seria executadasl
:Agora, invocar
sl
irá, esporadicamente, listar o conteúdo do diretório.fonte
Se você usar o apelido
ls
, ele imprimirá o diretório atual - de fato, quando parei de rir da locomotiva a vapor, adicionei isso à minha lista de apelidos.fonte
Você sempre pode revisar o código fonte para si mesmo e não veria em nenhuma condição que ele execute o
ls
comando real nem exiba os diretórios.https://github.com/mtoyoda/sl
A fonte é bastante simples, na verdade. Mesmo se você "não é um codificador", ainda deve entender a maior parte.
Eu acredito que o "bug" que você postou acima é realmente apenas de brincadeira (e para causar uma discussão como essa, lol)
fonte
Sim,
sl
agirá como ls se você configurar o alias apropriado no bash ou em qualquer shell que estiver usando!Na verdade, tenho vários apelidos para ls, incluindo
então obrigado pela sugestão - vou adicionar
(Não que eu me lembre de digitar,
sl
mas depois eu tendem a nósll
oulh
!)fonte
Você poderia fazer como eu também ...
PS: Você é bem-vindo por reviver isso. A busca pelo "comando sl linux" ainda traz esse tópico, então pensei em dar uma resposta real sobre como fiz com que ele listasse os arquivos ...
fonte