Возможно, не программируя связанный, но я хочу сослаться на этот каталог в c программе.
Я думал, что это - $HOME, но когда я сбросил $HOME, я могу все еще CD ~ / в ударе.
Это - также не $USER's домой, так как я могу быть корнем с ПОЛЬЗОВАТЕЛЕМ = "другой", но “~ /" неподвижная точка к "/корень".
таким образом, как удар объясняет это "~ /"?.
Возможно, не программируя связанный, но я хочу сослаться на этот каталог в c программе.
При попытке к opendir строкового литерала "~ /" в C Вы найдете, что он не существует. Это - краткая нотация Bash/Csh, которая расширена оболочкой до корневого каталога. Это не существует как таковое в файловой системе и таким образом, программа C перестанет работать - если это не вызовет Bash, например, и позволяет Bash разворачивать строку.
Это $HOME
, но изменение, это - значение, не произведет расширение. См. эту ссылку для получения дополнительной информации.
Хакеры Bash Wiki - документация - расширение тильды:
Расширение тильды используется для расширения до нескольких определенных путей:
- корневые каталоги
- текущий рабочий каталог
- предыдущий рабочий каталог