Листинг без ls
Случилось поковыряться в ADSL-модеме (конкретно, в D-Link DSL-2500U). Оказалось, что Busybox там без поддержки ls и еще нескольких нужных команд. Но выкрутиться можно.
К примеру, просмотреть директорию можно однострочником:
$ for i in * ; do echo $i ; doneлибо указывая конкретную директорию:
$ for i in /usr/bin/* ; do echo $i ; doneДля большего комфорта можно зарядить это в скриптик:
$ echo -e '#!/bin/sh\ntest !$1 && p=`pwd`\ntest $1 && p=$1\nfor i in $p/* ; do echo $i ; done' >/var/ls $ chmod +x /var/ls $ export PATH=PATH:/var/
(2 голоса)
- 3207 просмотров
Страница для печати

а как перейти в режим $
for i in * ; do echo $i ; done - эту строчку заебешся набирать, через echo намного проще ... но так или иначе в busybox хуевые симлинки на листинг каталогов (ls), нужно либо бинарники заливать ... либо писать самому ))))
Пойду ка поставлю что-нибудь этакое на свой роутер... =)
я могу и ошибаться, но вроде в busybox работает dir
Увы, dir'а в этой модели тоже нет.
а sh работает ?
он тоже в бизибоксе
echo /bin/*
И так можно - выдает листинг в одну строку. Мой вариант - по 1 элементу в строке ;-))
1. Поидее можно просто
$ echo *2. Попробуй
$ busybox lsЕсли работает, то просто нет линки /bin/ls -> /bin/bysybox
Достаточно ее просто создать.
С того и начали ;-)) В том-то и дело, его там совсем нет:
Отправить комментарий