Возможно, вы найдете что-то, что можно использовать в функции READLINE.
Смотрите LESS='+/shell-expand-line' man bash
для начала.
shell-expand-line
может быть не лучшим вариантом для ваших целей, но он установлен по умолчанию (при условии, что у вас есть опции оболочки по умолчанию, т.е. echo $SHELLOPTS
содержит :emacs:
).
Некоторые другие возможности можно увидеть, выполнив bind -p | grep expand
. Любая из этих функций "expand" сделает то, о чем вы просите.
В основном вы зададите псевдоним:
alias cdd='cd /your/home/folder/Downloads/'
... в вашем .bashrc
, и когда вы захотите расширить его, вы напечатаете cdd
, и он будет расширен. Это использование уже установленного shell-expand-line
, как упоминалось выше - он расширяет псевдонимы и расширение истории, а также переменные. (Попробуйте набрать l.; echo $SHELLOPTS; !!!
и нажмите
.)
Вы можете связать другие функции, такие как просто alias-expand-line
, которые могут лучше служить вашим целям.
Нет, ядро не зависит от стандартной библиотеки C (или какой-либо другой библиотеки ), оно является самодостаточным -. Пользовательские -космические программы также не обязательно зависят от библиотеки C. Библиотека C предоставляет удобные оболочки для системных вызовов, но их можно вызывать напрямую, минуя библиотеку C, а среды выполнения других языков могут предоставлять свои собственные оболочки.
(Это означает, что ядро содержит реализацию довольно многих функций, которые обычно можно ожидать от библиотеки C, иногда в упрощенных версиях, более подходящих для ядра. Подробности см. в этом FAQ для новичков по ядру .)