Для тех, кто не в курсе, sl
это юмористический инструмент командной строки, который предназначен, чтобы сбить людей с толку, если они ошибаются ls
. При вызове он печатает паровоз. Например:
( ) (@@) ( ) (@) () @@ 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_|
\_/ \__/ \__/ \__/ \__/ \_/ \_/ \_/ \_/ \_/
Тем не менее, в справочной странице для sl
, это заявляет следующую ошибку:
BUGS
It rarely shows contents of current directory.
Таким образом, остается вопрос, есть ли какие - то условия, при которых на sl
самом деле это показывает текущий каталог?
| | | H |__--------------------| [___] | =| |
, sl показывает ихОтветы:
Насколько я знаю, единственное условие, при котором
sl
отображается текущий каталог, - это когда вы печатаете его неправильноls
.источник
sl
печатает паровозЛемма: паровоз содержит косые черты:
Вывод:
sl
никогда не показывает текущий каталог. QED.источник
/
ссылок, которые не допускаются в именах файлов Unix.mkdir -p "$(dirname "$(sl)")"
вы могли бы сделатьtouch "$(sl)"
. Конечно, вы можете тестировать ограничения вашей ОС / FS. И весело проведите время, убирая это./
и то\
, и другое , и они означают одно и то же.H
(например), тоsl
действительно показывает его. Просто это также показывает много других вещей. :-)Вот патч, чтобы исправить эту ошибку :)
источник
rand()
«Возвращает псевдослучайное целое число в диапазоне от 0 до RAND_MAX», которое зависит от библиотеки, но не может делиться на 100.man 3 exec
: «Если какая-либо из функций exec () вернется, произойдет ошибка. Возвращаемое значение равно -1, и глобальная переменная errno будет установлена для указания ошибки».Вы можете проверить исходный код здесь - https://github.com/mtoyoda/sl , увы, нет других вариантов, кроме документированных, и, к сожалению, ничего, что на самом деле будет печатать имена файлов.
Так что, похоже , ответ @ sfyn правильный.
источник
Обратите внимание, что ответ I0b0 является только доказательством того, что
sl
никогда не будут отображаться все и только текущий список каталогов. Однако существуют обстоятельства, при которыхsl
будет отображаться текущий список каталогов вместе с дополнительной «информацией».Например, в пустой директории:
В первых шести строках будет перечислено содержимое каталога, а в оставшихся 10 строках будет удобно украсить этот список изображением поезда (без дыма).
источник
Я знаю , что Lego Stormtroopr уже зарегистрировал билет так , что критическая проблема может быть решена. Кто знает, сколько времени может потребоваться для исправления?
Поэтому я предложил обходной путь, чтобы свести к минимуму влияние серьезной проблемы. Вы можете создать функцию оболочки,
sl
которая будет выполнятьsl
:Теперь вызов
sl
будет время от времени перечислять содержимое каталога.источник
Если вы назовете его псевдонимом
ls
, он напечатает текущий каталог - фактически, когда я перестал смеяться над паровозом паровоза, я добавил его в свой список псевдонимов.источник
Вы всегда можете просмотреть его исходный код для себя, и вы увидите, что ни при каких условиях он никогда не выполняет фактическую
ls
команду и не отображает каталоги.https://github.com/mtoyoda/sl
Источник довольно прост на самом деле. Даже если вы «не кодер», вы все равно сможете понять большинство из них.
Я полагаю, что "ошибка", которую вы опубликовали выше, на самом деле просто в шутку (и вызвать обсуждение, как этот, смеется)
источник
Да,
sl
будет действовать так же, как ls, если вы настроите соответствующий псевдоним в bash или любой другой оболочке, которую вы используете!У меня есть несколько псевдонимов для Ls, включая
так что спасибо за предложение - добавлю
(Не то, чтобы я когда-либо вспоминал, как печатать,
sl
но я склонен к намll
илиlh
!)источник
Вы могли бы сделать так же, как и я ...
PS: добро пожаловать за то, что вы возродили это .. поиск по "sl linux command" все еще вызывает эту тему, поэтому я подумал, что я бы дал реальный ответ о том, как я сделал это, перечислил файлы ...
источник