在 bash 中,我可以cd ~
使用~
.
我可以创建新的自定义“目录别名”(?)来引用其他目录吗?假设示例:
make_alias "~~" /mnt/photon/work/foo_project/
cp ~/home.png ~~/set_8/home_4.png
Run Code Online (Sandbox Code Playgroud)
如果可以,怎么做?如果不能,是设计使然吗?为什么会这样?
很高兴拥有:在哪里以及如何~
设置并绑定到这个“〜”?
Den*_*nis 25
波浪号不是别名,它是 bash 的 shell 扩展的一部分(就像*.txt
或$((1 + 2))
)。
Bash 波浪号扩展支持以下波浪号前缀:
~ The value of $HOME
~/foo $HOME/foo
~fred/foo The subdirectory foo of the home directory of the user fred
~+/foo $PWD/foo
~-/foo ${OLDPWD-'~-'}/foo
~N The string that would be displayed by `dirs +N'
~+N The string that would be displayed by `dirs +N'
~-N The string that would be displayed by `dirs -N'
Run Code Online (Sandbox Code Playgroud)
要回答关于 的具体问题~~
,是的,可以将目录映射到它。只需创建一个名为的用户~
并将/mnt/photon/work/foo_project/
其设置为它的主目录:
sudo useradd '~'
sudo sed -i 's#:/home/~:[^:]*$#:/mnt/photon/work/foo_project:/bin/false#' /etc/passwd
Run Code Online (Sandbox Code Playgroud)
当然,一个更“理智的”的做法只是定义一个shell变量指向你的目录在你~/.bashrc
用命令
foo=/mnt/photon/work/foo_project
Run Code Online (Sandbox Code Playgroud)
可以$foo
像往常一样通过 访问。
归档时间: |
|
查看次数: |
5790 次 |
最近记录: |