As we know the symbol link command 'ln' in MinGW is fake that it creates copy instead of real link in *nix file system.
A good news is on Win7 its new NTFS support symbol link feature! With "mklink" command in Windows Command Prompt, we could easily do so like below:
mklink [/d] link target
So it won't be hard to implement a "mklink" for MinGW like below:
#!/bin/bash
#####################################################
#
# (c) Copyright 2012 Clark. All Rights Reserved.
# 2012-08-29
#
#####################################################
Usage() {
cat<<EOF
mklink [-d] target link.
-d create a directory symbolic link
target path (relative or absolute) that link refers to
link the new symbolic link name
EOF
exit 1
}
if [[ -z "$2" ]]; then
Usage
elif [[ "$3" != "" && "$1" != "-d" ]]; then
Usage
fi
if [[ "$3" != "" ]]; then
ISDIR="/D"
TARGET="$2"
LINK="$3"
else
TARGET="$1"
LINK="$2"
fi
# if starts with '/', a absolute path
if [[ "${TARGET:0:1}" == "/" ]]; then
ROUTE=$(echo "$TARGET" | sed 's,^/\([c-z]\)/,\1:/,')
if [[ "$ROUTE" == "$TARGET" ]]; then
ROUTE=$(echo "$3" | sed 's,^/,'$MSYS',')
fi
else
ROUTE="$TARGET"
fi
ROUTE=$(echo "$ROUTE" | sed 's,/,\\,g')
CMD=$(echo mklink $ISDIR $LINK \"$ROUTE\")
#echo $CMD
cmd /c "$CMD"
Please be noted that according to this article if you want to remove a directory symbol link in Win7 you should only use 'rmdir' (both available in CMD and MSYS). The 'del' command in CMD will delete all your files in the source directory!!!
A typical use case
You have created your awesome .vimrc and .vim in MSYS and you want to re-use them in gvim:
cd "$USERPROFILE"
# below 2 links makes your Windows gvim load resource directly from
# you MSYS configurations.
mklink /c/MinGW/msys/1.0/home/user/.vimrc _vimrc
mklink /c/MinGW/msys/1.0/home/user/.vim vimfiles.
# and if you want to invoke gvim from MSYS
cd ~
mklink .vim vimfiles
# a link for _vimrc is not necessary
alias gvim="/c/Program\ Files\ \(x86\)/Vim/vim73/gvim.exe"
# to start gvim in background
gvim <FILENAME> &
分享到:
相关推荐
msys的WIN64位软件,解压后可直接使用,建议与MinGW放在同一路径。
msys 解决win10系统下MTK6261 MT2503 编译报错 sh.exe.
解决win10 64位MTK编译6261时出现sh.exe错误。解压替换tools\msys。
在Qt 5.4.2官方原版源代码基础上针对MSYS2环境的MinGW编译器修改: 1.动态链接版本Qt可编译源码自带的ANGLE、webkit; 2.静态链接版本Qt可编译源码自带的ANGLE,不保证完全编译webkit; 3.修正自主编译的Qt链接的...
MSYS-1.0.10MSYS-1.0.10MSYS-1.0.10MSYS-1.0.10MSYS-1.0.10MSYS-1.0.10MSYS-1.0.10
msys msys msys 非要写多余20个字符,太麻烦了
说明:需要先从sourceforge上下载msys和mingw的最新版,即安装MSYS 7.2, MinGW with Gcc 4.7.2(解压在msys下的mingw目录),然后解压本压缩包至msys的根目录(会生成opt目录),启动msys.bat,运行qtcreator进行...
mingw和msys的最新版,gcc 4.7.2 这个版本的mingw相较以前的版本体积小
修正在MSYS2下使用MinGW编译器编译时的错误,并提供自动化编译安装脚本"makeinstall"。 注意: 1.由于MSYS2并未提供clang.dll的lib文件,需要自己手动从clang.dll生成一个并命名为libclang.dll.a,生成方法请参考...
在Qt 5.5.0官方原版源代码基础上针对MSYS2环境的MinGW编译器修改: 1.动态链接版本Qt可编译源码自带的ANGLE、webkit; 2.静态链接版本Qt可编译源码自带的ANGLE,不保证完全编译webkit; 3.修正自主编译的Qt链接的...
在windows下通过win+msys2编译ijkplayer,资源内容是里面我为了顺利编译修改过的文件
含有MSYS 1.0.10和MSYS 1.0.11两个版本。 两个都正确在Win32上安装使用过,没有问题。
主要介绍GTK+库的Win32下安装,MSYS的安装 --------------已经过期,请在我的资源中看另一个下载
基于QtCreator 3.4.1版官方源码修改,修正在MSYS2下使用MinGW编译器时的错误,注意由于MSYS2并未提供clang.dll的lib文件,需要自己手动从clang.dll生成一个并命名为libclang.dll.a,生成方法请参考网上教程,用到的...
最后一个分卷,到这里就结束了,所有的文件都已经在里面了,大概说一下安装过程,首先,安装msys,msys-dtk,msys-core,并把M4包解压缩覆盖到msys的bin目录下;然后,看你个人喜欢,independened文件夹里面的包是不...
MSYS 版本:1.0.10MSYS 版本:1.0.10 MSYS 版本:1.0.10MSYS 版本:1.0.10MSYS 版本:1.0.10MSYS 版本:1.0.10
基于QtCreator 3.4.2版官方源码修改,修正在MSYS2下使用MinGW编译器编译时的错误,并提供自动化编译安装脚本"makeinstall"。 注意: 由于MSYS2并未提供clang.dll的lib文件,需要自己手动从clang.dll生成一个并命名为...
2503源码11CW1352SP3_CORETEK03D_11C_V2_GPRS_MMI中需要的第三方工具 :MSYS MinGW 7z convert
64位Windows7下搭配MinGW64-MSYS环境
msys64 for windows