如何创建一个链接xxx到/home/jake/doc/test/2000/something/?
假设它xxx是在/home/jake你当前所在的位置创建的/home/jake.当你这样做cd xxx,你直接去/home/jake/doc/test/2000/something/.
我要做的是找到当前工作目录并将其保存到变量中,以便我可以运行export PATH=$PATH:currentdir+somethingelse.:不完全确定他们是否有一个默认包含cwd的变量.
我正在尝试编写一个bash完成,它将让我完成其他shell所在的目录名称.
例如,假设我有另一个外壳打开/very/long/path/name,目前在包含子目录的目录,我foo和bar.当我输入时cd <Tab>,我想看到:
$ cd <Tab>
foo/ bar/ /very/long/path/name
Run Code Online (Sandbox Code Playgroud)
我有这个命令来生成潜在的完成列表:
ps -Cbash -opid= | xargs pwdx | cut -d" " -f2 | sort -u | while read; do echo ${REPLY#$PWD/}; done | grep -v "^$"
Run Code Online (Sandbox Code Playgroud)
为简洁起见,我将其写为...pipeline....
在我的系统上有一个_cd产生常规完成的函数:
$ complete -p cd
complete -o nospace -F _cd cd
Run Code Online (Sandbox Code Playgroud)
我想重用这个_cd函数,因为它是非常重要的(约30行代码,根据type _cd).如果解决方案重用已经定义的任何完成,则奖励点,无论它是否基于被调用的函数_cd.
我认为-C选择complete听起来很有希望,但我无法让它发挥作用:
$ complete -C '...pipeline...' cd
$ cd <Tab>grep: …Run Code Online (Sandbox Code Playgroud)