答案1
文件的制表符补全适用$PWD
于我的变量:
bash-4.4$ touch bar baz
bash-4.4$ ln -s $PWD/ba<tab>
bar baz
答案2
为了完成,一些替代方案zsh
:
~0
(or~+0
) 是一个稍短的替代方案(并且文件名补全在 , or 后的效果与在, or后的效果$PWD
一样好);, ... 是您之前所在的目录,完成系统也可以配置为向您显示它们是什么并展开(在 上)。$PWD/fi<Tab>
~0/fi<Tab>
$(pwd)fi<Tab>
~1
~2
~+<Tab>
- 可以使用
ln -s file(:A) /usr/local/bin
, where(:A)
导致file
扩展到其绝对路径(但请注意,它会解析到其目标的符号链接)。
另请注意GNU 的-r
/选项:--relative
ln
ln -rs file /usr/local/bin/
会创建一个/usr/local/bin/file
符号链接(作为相对路径,所以可能类似于../../../home/you/file
)指向file
当前目录中的 ,类似于:
ln -s "$(realpath -s --relative-to=/usr/local/bin file)" /usr/local/bin
(与 GNU realpath
)。