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系统61 2503 sh.exe报错"指的是在使用MSYS在Win10环境下编译MTK6261和MT2503相关软件或固件时,由于系统或环境配置问题导致`sh.exe`——一个Unix/Linux下的Shell程序,在Windows上运行出错。...
解压后放到c盘,双击msys2.exe,就可以运行,由于没有走安装逻辑,双击后会跑一段时间的命令行,然后执行pacman -S gdb就能安装gdbgdb attach 进程ID,就能调试mingw编译的程序,mingw编译的参数要加CFLAGS="-g -O0
标题"msys win10 64位"指的是这个压缩包特别针对Windows 10 64位操作系统,提供了一个适用于该系统的MSYS环境。通常,MSYS可能会在某些特定情况下遇到问题,例如在编译过程中遇到"sh.exe"错误。这通常是由于路径设置...
MingW-GCC-4.7.2-MSYS-Win32是一个专为Windows系统设计的开源工具集,它使得开发者能够在Windows环境下编译和构建GNU工具链的程序。这个版本特别强调的是其轻量级特性,相较于之前的版本,它的体积更小,但功能并未...
**MSYS:Windows下的开源命令行工具集合** MSYS,全称 Minimal SYStem,是一个在Windows操作系统上运行的轻量级Unix-like环境。它主要为开发者提供了一个能够执行POSIX兼容命令行工具的平台,使得在Windows系统上...
标题中的"MSYS.zip"指的是一个包含MSYS(Minimal SYStem)的压缩文件,它是一个轻量级的UNIX-like环境,专为Windows系统设计,主要用于支持GNU工具集的运行和编译。这个环境提供了类似bash shell的命令行界面,使得...
这个“msys2-x86_64最新安装包.7z”文件是MSYS2的64位版本的更新安装程序,压缩格式为7z,里面包含的文件名为"msys2-x86_64-20190524 (1).exe",这是MSYS2的安装执行文件,发布日期为2019年5月24日。 MSYS2的核心...
MSYS 是 Minimal GNU(POSIX)system on Windows 的缩写,它是一个小型的 GNU 环境,包括基本的 bash、make 等等。MSYS 是 Windows 下最优秀的 GNU 环境。 MinGW,即 Minimalist GNU for Windows,是一些头文件和...
### Windows下使用MSYS2搭建GCC开发环境 #### 前言 对于Windows开发者来说,能够在本地环境中模拟出接近Linux的开发体验是非常重要的。MSYS2不仅提供了这种体验,而且还集成了诸如Mingw这样的工具,让Windows用户...
### Win32下MinGW与MSYS安装及GTK+配置详解 #### 一、MSYS与MinGW的基础概念 - **MinGW (Minimalist GNU for Windows)**:它是一套为Windows设计的GNU工具集,包括GCC编译器、连接器等,能够用来编译和链接C、C++...
**MSYS2与MinGW简介** MSYS2是一个为Windows平台设计的软件包管理系统,它提供了类似Unix的开发环境,可以方便地安装和管理开源软件。MinGW(Minimalist GNU for Windows)则是一个开放源码的编译工具集,允许在...
MSYS,全称为 Minimal SYStem,是一款基于MinGW(Minimalist GNU for Windows)的轻量级UNIX-like环境,主要用于在Windows系统上构建和运行基于GNU工具链的命令行程序。MSYS提供了一个接口,使得开发者可以在Windows...
标题中的"MSYS_ MinGW_7z_convert"指的是在Windows环境下进行源码编译时常用的工具集合。MSYS(Minimal SYStem)是为在Windows上构建和运行GNU工具链提供的一种轻量级Unix-like环境。MinGW(Minimalist GNU for ...
说明:需要先从sourceforge上下载msys和mingw的最新版,即安装MSYS 7.2, MinGW with Gcc 4.7.2(解压在msys下的mingw目录),然后解压本压缩包至msys的根目录(会生成opt目录),启动msys.bat,运行qtcreator进行...
修正在MSYS2下使用MinGW编译器编译时的错误,并提供自动化编译安装脚本"makeinstall"。 注意: 1.由于MSYS2并未提供clang.dll的lib文件,需要自己手动从clang.dll生成一个并命名为libclang.dll.a,生成方法请参考...
MSYS,全称为 Minimal SYStem,是一款基于 Mingw 的轻量级开发环境,主要用于在 Windows 操作系统上提供一个类似 Unix 的命令行环境。它并非一个完整的操作系统,而是一套工具集,允许开发者在 Windows 上编译和构建...
在Qt 5.4.2官方原版源代码基础上针对MSYS2环境的MinGW编译器修改: 1.动态链接版本Qt可编译源码自带的ANGLE、webkit; 2.静态链接版本Qt可编译源码自带的ANGLE,不保证完全编译webkit; 3.修正自主编译的Qt链接的...
MSYS2是一个为Windows平台设计的轻量级Unix-like环境,它使得在Windows上构建和运行原生的GNU工具集成为可能。这个环境基于MinGW-w64项目,支持32位和64位的Windows系统。MSYS2提供了一个类似于POSIX的环境,包括...
标题“msys运行vim依赖”涉及的是在MSYS(Minimal SYStem)环境下成功运行Vim编辑器所需的一些关键依赖。MSYS是一个轻量级的Unix-like环境,它为Windows提供了一个模拟POSIX接口,使得用户可以在Windows上编译和运行...