Почему ~username/ изменяется на /home/username, если путь завершается табуляцией с пробелом в нем?

В ~jacksonc/temp/ есть два файла, test.txt а также space test.txtоба помещаются туда через винду (используя Samba).

Используя bash, если я наберу

cat ~jacksonc/temp/t[tab]

, он автоматически завершает

cat ~jacksonc/temp/test.txt

Однако, если я наберу

cat ~jacksonc/temp/s[tab]

автозаполнение до

cat /home/jacksonc/temp/space\ test.txt

Мой вопрос не про обратную косую черту, я знаю, почему это там. Мне любопытно, почему пространство вызывает расширение ~ хотя?

1 ответ

Решение

Я думаю, потому что в вашей системе установлен скрипт bash_completion http://bash-completion.alioth.debian.org/, который может изменять поведение таких вещей.

Обычно это расширение можно отключить с помощью опций readline. В вашем ~/.inputrc В файл поместите следующее:

expand-tilde off
Другие вопросы по тегам