#bash #function #bash-completion #pathname
Вопрос:
В настоящее время у меня есть следующая функция Bash:
function xcd {
if [ "$#" -gt 1 ]; then
echo "Usage: xcd [<path>]" >amp;2
return 1
fi
cd "/some/commonly/used/path/${1}"
}
Я бы хотел , чтобы это поддерживало завершение Bash — когда я печатаю xcd foo
, я бы хотел, чтобы оно завершалось так, как если бы я печатал cd /some/commonly/used/path/foo
. Есть ли какой — нибудь способ заставить Bash быть умным в этом отношении — предположительно, наблюдая за тем, как ${1}
используется, — не просто написав завершение Bash вручную?
Ответ №1:
Замените свою функцию в вашем ~/.bashrc
на эту:
CDPATH="/some/commonly/used/path"
Я предполагаю, что CDPATH до сих пор не используется. Источник ваш ~/.bashrc
, а затем вы можете использовать cd foo
с
завершением bash.