也许与编程无关,但我想在 c 程序中引用这个目录。
我以为它是 $HOME,但是当我取消设置 $HOME 时,我仍然可以在 bash 中 cd ~/ 。
它也不是 $USER 的家,因为我可以使用 USER="another" 成为 root,但是“~/”仍然指向“/root”。
那么 bash 如何解释这个“~/”?。
小智 15
使用来自/etc/passwd(第 6 个字段)的主目录信息。
也许与编程无关,但我想在c程序中引用这个目录。
如果你尝试在 C 语言中 opendir 字符串文字“~/”,你会发现它不存在。它是 Bash/Csh 的简写符号,由 shell 扩展到主目录。它在文件系统上并不存在,因此 C 程序将会失败——除非它调用 Bash,并允许 Bash 扩展字符串。
归档时间: |
|
查看次数: |
396 次 |
最近记录: |