怎么改值~

Tum*_*nvi 2 command-line home-directory

默认情况下~被赋予的值/home/username/

即如果我使用该命令,cd ~它会转到目录/home/username/

如何将其值更改为其他文件,例如 /home/username/filename?

我知道这可能很危险,不过我正在开发 CTF,所以没问题。

Tim*_*Tim 5

波浪号 (~) 由您的 shell 解释为$HOME.

尝试以下命令:

echo ~
HOME=foo
echo ~
Run Code Online (Sandbox Code Playgroud)

这应该首先打印您的真实主目录,然后打印“foo”,因为您将 $HOME` 设置为该目录。

的默认值$HOME来自您的系统配置。使用getent passwd列出所有已知用户和他们的主目录。根据您的系统配置,这些条目可能来自/etc/passwd或任何远程目录服务。

如果您只想临时重新定义您的主目录,只需设置另一个$HOME.

如果您永久想要更改它,您必须更改 passwd 条目,例如通过手动编辑/etc/passwd.

取自这个 U&L 问题。