Существуют различные возможные причины сбоя в разрешении имен.
У вас нет подключения к Интернету. Попробуйте
ping -c4 8.8.8.8
Если вы получили ответы, ваше интернет-соединение работает. Иначе выясните, почему это не
У вас неправильный преобразователь. Тип
cat /etc/resolv.conf
Вы должны увидеть хотя бы одну строку
nameserver a.b.c.d
a.b.c.d
обычно является адресом вашего маршрутизатора. Если такой строки нет, добавьте ее. Если такая строка есть, но она не работает, или если вы не знаете адрес своего роутера, попробуйте nameserver 8.8.8.8
. При этом используются DNS-серверы Google по адресу 8.8.8.8
.
~
— это синтаксический сахар, доступный в Bash, который предназначен для расширения до $HOME
. У автозавершения Bash было много особенностей, над которым до сих пор работают. Раньше он не мог -автоматически дополнять многие имена файлов специальными символами, такими как, например, новая строка или звездочка, и похоже, что вы обнаружили еще одну причуду.
Мой C -foo недостаточно силен, но похоже, что ответ, который вы ищете, должен быть где-то рядом
/* We aren't done yet. We also support the "~user" syntax. */
Для bash man readline
объясняет:
Completing
complete (TAB)
Attempt to perform completion on the text before point.
The actual completion performed is application-specific.
Bash, for instance, attempts completion treating the text as a
variable (if the text begins with $),
username (if the text begins with ~),
hostname (if the text begins with @), or
command (including aliases and functions) in turn.
If none of these produces a match, filename completion is attempted.
Завершение имени пользователя также может быть запущено с помощью M-~
.
...и завершение имени файла по умолчаниюM-/
(Esc, /
илиAlt-/
)
]# touch '~~ van tilde'
]# ls ~~\ van\ tilde
(сls ~~Esc/
)
Завершение и расширение не следует путать.
После touch \~ftp
и ~f+TAB
я получаю:
\~ftp/
что ни то, ни другое. Обратная косая черта показывает, что bash распознает файл, косая черта происходит от расширения как /srv/ftp/
.