如何在windows bat脚本中调用Cygwin并执行命令

如何在windows bat脚本中调用Cygwin并执行命令,第1张

1、如果是win10用户,别折腾Cygwin了,win10已经自己支持安装Ubuntu:控制面板—卸载或者更新程序—启用或关闭windows功能—适用于Linux的windows子系统前打勾,然后再在windows自带的应用商店搜Ubuntu,然后安装,基本Linux的命令都可以运行,比Cygwin强大多了。

2、如果是win7等系统,安装cygwin后,在环境变量—系统环境变量—PATH的原有值后面加分号“”,然后再把cygwin安装的路径/bin添加在后面。

比如cygwin安装在C:\Program Files\cygwin文件夹里,那么变量路径为:C:\Program Files\cygwin\bin

3、系统环境变量弄好后,比如要执行放在C盘Program Files文件夹里的1.sh文件,那么bat文件为:bash C:\"Program Files"\1.sh

注:带空格的文件夹名需要加英文状态的引号("")

如果是win10的Ubuntu,和win7的路径写法有点不同,bat内容为:

bash /mnt/C/"Program Files"/1.sh

在win7 64位系统下使用cygwin运行 liunux程序出现 bash-2.05$的问题:

原因是因为:

原来在64位的 *** 作系统中,32程序和64位程序读取的是位置的注册表项,HKEY_LOCAL_MACHINE\Software在 64位版本的注册表编辑器中对应的是64位程序的注册表项,而32位注册表项被映射为HKEY_LOCAL_MACHINE\Software\WOW6432Node。如果要两个版本都生效的话,需要同时修改这两个地方的表项。

把以下内容保存后另存为.reg文件,然后双击运行即可解决问题:

Windows Registry Editor Version 5.00

[HKEY_LOCAL_MACHINE\SOFTWARE\Cygnus Solutions]

[HKEY_LOCAL_MACHINE\SOFTWARE\Cygnus Solutions\Cygwin]

[HKEY_LOCAL_MACHINE\SOFTWARE\Cygnus Solutions\Cygwin\mounts v2]

"cygdrive prefix"="/cygdrive"

"cygdrive flags"=dword:00000022

[HKEY_LOCAL_MACHINE\SOFTWARE\Cygnus Solutions\Cygwin\mounts v2\/]

"native"="C:\\cygwin"

"flags"=dword:0000000a

[HKEY_LOCAL_MACHINE\SOFTWARE\Cygnus Solutions\Cygwin\mounts v2\/usr/bin]

"native"="C:\\cygwin/bin"

"flags"=dword:0000000a

[HKEY_LOCAL_MACHINE\SOFTWARE\Cygnus Solutions\Cygwin\mounts v2\/usr/lib]

"native"="C:\\cygwin/lib"

"flags"=dword:0000000a

[HKEY_LOCAL_MACHINE\SOFTWARE\Cygnus Solutions\Cygwin\Program Options]

[HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Cygnus Solutions]

[HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Cygnus Solutions\Cygwin]

[HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Cygnus Solutions\Cygwin\mounts v2]

"cygdrive prefix"="/cygdrive"

"cygdrive flags"=dword:00000022

[HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Cygnus Solutions\Cygwin\mounts v2\/]

"native"="C:\\cygwin"

"flags"=dword:0000000a

[HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Cygnus Solutions\Cygwin\mounts v2\/usr/bin]

"native"="C:\\cygwin/bin"

"flags"=dword:0000000a

[HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Cygnus Solutions\Cygwin\mounts v2\/usr/lib]

"native"="C:\\cygwin/lib"

"flags"=dword:0000000a

[HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Cygnus Solutions\Cygwin\Program Options]


欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/yw/12069667.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-05-20
下一篇2023-05-20

发表评论

登录后才能评论

评论列表(0条)

    保存