Почему mkdir не работает с тильдой (~)?

Когда я писал

mkdir("~/folder1" , 0777);

в Linux, не удалось создать каталог. Если я заменю ~ расширенным домашним каталогом, он будет работать нормально. В чем проблема с использованием ~ ?

Спасибо

9
задан codaddict 2 September 2010 в 03:46
поделиться

2 ответа

~ является метасимволом оболочки, а не ярлыком, предоставляемым ядром.

См. справочные страницы wordexp(3) или glob(3) , если вы хотите легко поддерживать ~. (Они могут делать гораздо больше, чем вы хотите.)

12
ответ дан 4 December 2019 в 06:09
поделиться

~ обычно расширяется оболочкой. Неиспользование оболочки означает, что вы несете ответственность за ее расширение.

5
ответ дан 4 December 2019 в 06:09
поделиться