Linux子系统运行exe,修复盘符路径

本文介绍如何在Linux子系统中运行Windows EXE文件,如Sublime Text和Notepad++等编辑器,并提供脚本实现路径转换,以便于直接从bash环境中启动这些GUI程序。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

exe-in-bash

在Linux子系统下运行exe,修正盘符路径,适用于sublime,notepad++或其它需要指定文件参数的GUI程序

注:

测试使用软链接即可在子系统bash中运行exe文件,如:SublimeText, 免去安装GUI和输入法
ln -sv /mnt/c/Program\ Files/Sublime\ Text\ Build\ 3143\ x64/subl.exe /usr/local/bin/subl

  • 使用时: subl ./foo/bar/file.txt
  • 但是不支持完整路径,如: subl /mnt/d/web/test.php
  • 因此写了个脚本用于转换路径

解决 (以SublimeText为例):

  • 把此文件复制并命名:/usr/bin/subl 即可
  • 应用在ubuntu子系统,如果盘符不对,根据盘符修改正则替换部分
  • 没有写软链接的转换。需要的话自行修改或参见winpath.sh
#!/bin/bash
# filename: subl-full.sh, copy to /usr/bin/subl
# by: ijiabao, fixed open file like : /mnt/d/foo/bar/file.ext
# run subl.exe in bash ^_^
get_win_path () {
    path=`dirname "$1"`
    file=`basename "$1"`
    full="$(cd $path; pwd)/$file"
    echo $full | sed -e 's@^/mnt/\(\w\)/@\1:/@' -e 's@/@\\@g'
}
# exe文件路径需手动修改
/mnt/c/Program\ Files/Sublime\ Text\ Build\ 3143\ x64/subl.exe `get_win_path $1`

另附,多个脚本快速建立:

winpath.sh

  • 把参数1指定的路径/文件转换为windows的下完整路径
  • 下载并放在/usr/bin/usr/local/bin 命名 winpath
  • windows的盘符一定挂载规则 /mnt/c, /mnt/d..
  • 经常使用centos/fc系列,ubuntu还有点不习惯……

使用 (以SublimeText为例):

  • subl.sh => /usr/bin/subl 即可(其中的exe文件路径自已修改)
  • using subl foo/bar/file.ext or subl /mnt/d/foo/bar/file.ext
#!/bin/bash
# file:subl.sh
/mnt/c/Program\ Files/Sublime\ Text\ Build\ 3143\ x64/subl.exe `winpath $1`

Notepad++:

  • npp.sh => /usr/bin/npp
  • using npp foo/bar/file.ext or subl /mnt/d/foo/bar/file.ext
#!/bin/bash
# run notepad++.exe in bash ^_^
/mnt/c/Program\ Files/Notepad++/notepad++.exe `winpath $1`

php,cpmposer,svn,git:

  • 无GUI, sudo apt-get install ……
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值