在Windows的msys bash中,我想将目录cd到(Windows本机).lnk链接到的目录。这些是标准的Windows快捷方式。我希望能够做到这一点:
~ $ cdlnk programs.lnk
/c/Program\ Files/ $
我走了这么远:
strings "$lnk" | grep -A 1 DATA | tail -n 1
为我提供了快捷方式链接的路径。但是,现在我被卡住了。我可以
答案 0 :(得分:1)
要能够处理参数和修改当前的shell,可以在必须为shell function的文件中使用sourced,例如{{1 }}。
对于您拥有的命令,该函数可能如下所示:
.bashrc
您可以通过使用sed而不是grep和cdlnk() {
strings "$1" | grep -A 1 DATA | tail -n 1
}
来缩短此时间:
tail
其中cdlnk() {
strings "$1" | sed -n '/DATA/{n;p;q;}'
}
禁止输出,在与-n
匹配的行上,命令为DATA
(将下一行放入模式缓冲区),n
(打印行) ,和p
(退出-无需查看文件的其余部分)。