获取 MSYS 中挂载目录的真实 windows 目录(或使用 ln 与 MSYS)
Get real windows directory of mounted directory in MSYS (or use ln with MSYS)
我安装了 MSYS,我正在编写 bash 脚本来设置一些文件。我想从 MSYS 中的 bash 脚本创建一个目录符号 link,但为此我需要使用 mklink /D
,这是一个 windows 命令。 ln
不适用于 NTFS 符号 links,它似乎只是复制文件夹,所以不幸的是我不能使用它。
我使用 fstab 在 MSYS 中安装了一个目录为 /opt
。真实目录是 C:\opt
(但它可以是任何东西)
mklink
期望像 C:\opt
这样的 Windows 风格的路径。但是,我只能提供它无法使用的 /opt
。有没有办法得到/opt
的"real"路径?
或者,如果有办法让 ln
像 mklink /D
那样工作,那就太好了。但我似乎找不到办法(Cygwin 中确实存在一种方法,但它似乎对我不起作用)
注意:本人没有cygwin,也不想安装外部软件(包括cygwin)
我想通了,虽然它有点丑陋
如果我想找出当前目录的真实 Windows 路径,我可以使用 pwd -W
,这显然是 MSYS 独有的功能
在我的脚本中,我可能会做类似的事情:
realpath=`cd /opt && pwd -W`
获取/opt的真实路径。我测试了它,它似乎有效。
不过我希望有一个不那么丑陋的方法
我将其命名为 "winpath" 并将其粘贴在我的 /usr/bin 文件夹中用于 msys。只有 pwd
似乎支持揭示底层的根路径:
#!/bin/bash
if [[ -f "" ]]; then
dir=$(dirname "")
add=/$(basename "")
else
dir=""
add=""
fi
pushd $dir > /dev/null
echo $(pwd -W)$add
popd > /dev/null
我安装了 MSYS,我正在编写 bash 脚本来设置一些文件。我想从 MSYS 中的 bash 脚本创建一个目录符号 link,但为此我需要使用 mklink /D
,这是一个 windows 命令。 ln
不适用于 NTFS 符号 links,它似乎只是复制文件夹,所以不幸的是我不能使用它。
我使用 fstab 在 MSYS 中安装了一个目录为 /opt
。真实目录是 C:\opt
(但它可以是任何东西)
mklink
期望像 C:\opt
这样的 Windows 风格的路径。但是,我只能提供它无法使用的 /opt
。有没有办法得到/opt
的"real"路径?
或者,如果有办法让 ln
像 mklink /D
那样工作,那就太好了。但我似乎找不到办法(Cygwin 中确实存在一种方法,但它似乎对我不起作用)
注意:本人没有cygwin,也不想安装外部软件(包括cygwin)
我想通了,虽然它有点丑陋
如果我想找出当前目录的真实 Windows 路径,我可以使用 pwd -W
,这显然是 MSYS 独有的功能
在我的脚本中,我可能会做类似的事情:
realpath=`cd /opt && pwd -W`
获取/opt的真实路径。我测试了它,它似乎有效。
不过我希望有一个不那么丑陋的方法
我将其命名为 "winpath" 并将其粘贴在我的 /usr/bin 文件夹中用于 msys。只有 pwd
似乎支持揭示底层的根路径:
#!/bin/bash
if [[ -f "" ]]; then
dir=$(dirname "")
add=/$(basename "")
else
dir=""
add=""
fi
pushd $dir > /dev/null
echo $(pwd -W)$add
popd > /dev/null