Можно определить оболочку по умолчанию со следующей командой:
grep -- "$LOGNAME" /etc/passwd | awk -F":" '{print $7}'
В моей машине, sh
ссылка на dash
, попытка:
ls -l "$(which sh)"
Нет, у Дэша нет завершения. Иначе это называлось бы "бэш". Dash был разработан для быстрого выполнения скриптов оболочки и с минимальным количеством памяти, он не был предназначен для интерактивного использования.
Лучший способ получить завершение в dash - выполнить exec zsh
или exec fish
. Или, если вы хотите использовать оболочку, которая не использует много памяти, используйте сборку BusyBox sh, которая включает в себя completion.
Если вы хотите придерживаться тире, вы можете делать то, что люди делали до того, как существовала оболочка завершения: использовать подстановочные символы. Например, вместо того, чтобы набрать префикс имени файла и затем нажать Tab, введите префикс имени файла и затем наберите *
. Префикс должен быть уникальным, иначе будут интерполированы несколько имен файлов.
Для получения списка "завершения", вызовите ls
или запустите echo
по шаблону подстановки.
Если вы используете одно и то же имя файла (или другую строку) несколько раз, сохраните его в переменной.
Предлагаю альтернативу (@...)
почему dash
? для меня это использование резидентной памяти. (Я использую якуакэ, и каждая вкладка bash здесь занимает 34 МБ. тире составляет 708 КБ. )Проблема в том, что я часто набираю bash для автодополнения.
Альтернатива:yash
RSS=1080KB, имеет отличное авто -завершение (может быть даже более дружественным, чем bash ). Я установил его по умолчанию на якуаке, и независимо от того, сколько вкладок я открываю, он очень экономит память.
Я обнаружил, что при запуске yakuake yash с .yashrc
запуском bash используется + -9 МБ RSS вместо 34 МБ! затем, если я хочу сохранить что-то вроде htop, я просто выхожу из bash и снова получаю yash low memory, чтобы запустить его!
дополняющийhttps://unix.stackexchange.com/a/158523/30352:exec zsh
использовал 5,5 МБ RSS (...@ ), так как вы можете не захотеть придерживаться тире:)
Обс. :RSS черезhtop