Cas*_*all 9 windows bash msysgit
我在 Windows 上使用 msysgit 来使用 git,但我经常想通过 Windows 风格的*.lnk快捷方式进行导航。我通常通过 Windows 的资源管理器管理我的文件结构,因此使用不同类型的快捷方式(例如在 git 中创建硬链接或软链接)是不可行的。我将如何浏览这种类型的快捷方式?
例如:
PCUser@PCName ~
$ cd Desktop
PCUser@PCName ~/Desktop
$ ls
Scripts.lnk
PCUser@PCName ~/Desktop
$ cd Scripts.lnk
sh.exe": cd: Scripts.lnk: Not a directory
Run Code Online (Sandbox Code Playgroud)
是否可以更改此行为,以便它不会出错,而只会转到目录的位置?或者,是否有获取*.lnk文件路径的命令?
编辑:我听说cygwin存在相反的情况,允许您创建一个与资源管理器一起使用的符号链接。
首先,编译以下AutoHotkey脚本:
FileGetShortcut, %1%, shortcut_target
FileAppend, %shortcut_target%, *
ExitApp
Run Code Online (Sandbox Code Playgroud)
将.EXE文件放在%PATH%目录中。我命名了我的follow.exe。
现在,您可以.LNK使用以下语法有效地跟踪工作目录中的 Windows文件:
cd `follow Shortcut.lnk`
Run Code Online (Sandbox Code Playgroud)
其中Shortcut.lnk的目标是一个有效的目录。


设置 . 后follow.exe,您可以将以下 shell 函数添加到您的~/.bashrc文件中,以进一步简化语法。谢谢,丹尼尔!
function cd
{
if [[ ".lnk" = "${1:(-4)}" && -f "$1" ]] ;
then builtin cd "$( follow "$1" )" ;
else builtin cd "$1" ;
fi
}
Run Code Online (Sandbox Code Playgroud)
现在,您.LNK只需使用cd!
cd Shortcut.lnk
Run Code Online (Sandbox Code Playgroud)

| 归档时间: |
|
| 查看次数: |
2533 次 |
| 最近记录: |