Para aquellos fuera del circuito, sl
es una herramienta de línea de comandos chistosa que está destinada a hacer tropezar a las personas si escriben mal ls
. Cuando se invoca, imprime una locomotora a vapor. Por ejemplo:
( ) (@@) ( ) (@) () @@ 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_|
\_/ \__/ \__/ \__/ \__/ \_/ \_/ \_/ \_/ \_/
Sin embargo, en la página de manual de sl
, se indica el siguiente error:
BUGS
It rarely shows contents of current directory.
Entonces, la pregunta sigue siendo, ¿hay algunas condiciones, bajo las cuales sl
realmente se muestra el directorio actual?
| | | H |__--------------------| [___] | =| |
, sl los muestra.Respuestas:
Hasta donde sé, la única condición bajo la cual se
sl
muestra el directorio actual es cuando lo escribes mal comols
.fuente
sl
imprime una locomotora de vaporLema: La locomotora de vapor contiene barras diagonales:
Conclusión:
sl
nunca muestra el directorio actual. QEDfuente
/
'es, que no están permitidos en los nombres de archivo Unix.mkdir -p "$(dirname "$(sl)")"
hicieras un , podrías hacerlotouch "$(sl)"
. Por supuesto, puede estar probando los límites de su OS / FS. Y diviértete limpiando eso./
y\
significan lo mismo.H
(por ejemplo),sl
sí lo muestra. Es solo que también muestra muchas otras cosas. :-)Aquí hay un parche para corregir ese error :)
fuente
rand()
"Devuelve un número integral pseudoaleatorio en el rango entre 0 y RAND_MAX", que depende de la biblioteca pero puede no ser divisible por 100.man 3 exec
: "Si alguna de las funciones exec () regresa, se habrá producido un error. El valor de retorno es -1 y la variable global errno se establecerá para indicar el error".Puede consultar el código fuente aquí: https://github.com/mtoyoda/sl , lamentablemente no hay otras opciones que no sean las documentadas y lamentablemente nada que realmente imprima los nombres de los archivos.
Entonces parece que la respuesta de @ sfyn es la correcta.
fuente
Tenga en cuenta que la respuesta de I0b0 es solo una prueba que
sl
nunca mostrará todos y solo la lista actual del directorio. Sin embargo, hay circunstancias en las quesl
se mostrará la lista del directorio actual junto con 'información' adicional.Por ejemplo, en un directorio vacío:
en las primeras seis líneas enumerará el contenido del directorio, y en las 10 líneas restantes embellecerá convenientemente este listado con una imagen de un tren (sin humo).
fuente
Sé que Lego Stormtroopr ha registrado un ticket para que se pueda abordar el problema crítico. ¿Quién sabe cuánto tiempo puede llevar una solución?
Como tal, he proporcionado una solución alternativa para minimizar el impacto debido al grave problema. Puede crear una función de shell
sl
que ejecutesl
:Ahora invocando
sl
, esporádicamente, se enumerará el contenido del directorio.fuente
Si lo alias
ls
, imprimirá el directorio actual; de hecho, una vez que dejé de reírme de la locomotora de la máquina de vapor, lo agregué a mi lista de alias.fuente
Siempre puede revisar su código fuente por sí mismo, y vería que bajo ninguna condición realiza el
ls
comando real ni muestra directorios.https://github.com/mtoyoda/sl
La fuente es bastante simple en realidad. Incluso si "no es un programador", aún debería ser capaz de comprender la mayor parte.
Creo que el "error" que publicaste anteriormente es solo una broma (y para provocar una discusión como esta jajaja)
fuente
¡Sí,
sl
actuará como ls si configura el alias apropiado en bash o cualquier shell que esté usando!De hecho, tengo varios alias para ls, incluidos
así que gracias por la sugerencia, agregaré
(¡No es que recuerde haber escrito alguna vez,
sl
pero luego tiendo a nosotrosll
olh
!)fuente
Podrías hacer como yo también ...
PD: De nada por revivir esto ... la búsqueda de "comando sl linux" todavía trae este hilo, así que pensé que daría una respuesta real sobre cómo hice que enumerara los archivos ...
fuente