@famousman204

Как получить список всех программ Linux?

Добрый день! Пишу shell. Нужно сделать дополнение(подсказки при нажатии таба). Но не знаю где взять список команд/программ.
Где то наверняка есть папка или файл с названием программ. Где можно взять такой список из программы написанной на си?
Возможно я смотрю не с той стороны и есть лучший способ, чтобы реализовать дополнения. Если это так, то буду рад совету.
  • Вопрос задан
  • 201 просмотр
Решения вопроса 3
dyuriev
@dyuriev
A posteriori
echo $PATH
/root/.cargo/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin


список каталогов с бинарниками, разделенные через двоеточие, которые в баше доступны без указания прямого пути
в вашей системе может (даже не может, а точно) другой список, может в рамкой одной системы у разных пользователей отличаться
Ответ написан
Комментировать
/bin
/sbin
/usr/bin
/usr/sbin
/usr/local/bin
/home/user/.local/bin
Ответ написан
Комментировать
hottabxp
@hottabxp
Сначала мы жили бедно, а потом нас обокрали..
ls /bin
ls /sbin
ls /usr/bin
ls /usr/sbin
...
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 3
saboteur_kiev
@saboteur_kiev Куратор тега Linux
software engineer
Если вы пишете POSIX-совместимый шелл, то можете просто подключить bash-completion или посмотреть как он организован.
А так - автодополнение делается не по определенному списку, а по том, что есть в директориях, перечисленных в переменной PATH
Ответ написан
Комментировать
Adamos
@Adamos
Совет: взять исходники того шелла, который взят за образец, и посмотреть, как это сделано в нем.
Ответ написан
@aleks-th
Но тока то что поставлено ручками может в этом списке и не присутствовать ))
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы