在Notepad++上搭建Windows下Shell运行环境

1、安装NotePad++

 

第一步是安装Notepad++。

 

2、安装 Cygwin64 Terminal

 

 Cygwin64 Terminal是在Windows环境下,模拟运行Linux命令的软件,很实用。官网地址:https://www.cygwin.com/。

 

下载后,安装时需要选择下载源,建议选择edu结尾的网站。网上安装教程很多,这里不多说了。

 

3、添加环境变量

 

添加环境变量是为了能在CMD下直接使用Cygwin64的命令,之后的脚本用也用到了环境变量。

 

计算机 -> 右键 属性 -> 高级 -> 环境变量

 

在用户环境变量下添加两个环境变量,CYGWIN_HOME的值根据Cygwin64 Terminal的安装位置选择,默认安装位置为C:\cygwin64:

 

CYGWIN_HOME

C:\cygwin64

path

%path%;%CYGWIN_HOME%/bin

 

 

 

4、修改NotePad++的默认编码格式

 

为了方便,我们将Notepad++的默认编码格式改为utf-8的无BOM格式编码,设置 -> 首选项 -> 新建

 

 

5、解决换行符的问题

 

默认的Notepad++在编辑Shell脚本的时候默认会使用"\r\n"作为换行,这样的话执行结果中会出现

Cygwin64 $'\r': command not found的错误很烦,我们使用一段代码来替换掉"\r"。

 

不过要是按这个搞法,以后编写Shell脚本就需要放在 %CYGWIN_HOME%/home/%用户% 路径下了。当然,好处也是有点:在执行脚本之前,cd 到虚拟的Linux的/home/%用户%下,可以避免路径问题 ,比如 mkdir、pwd 什么的。

 

关掉自动更新,主要是为了不出现 Reload 的提示,老弹窗很烦就是了。

 

在Notepad++中关闭自动更新,设置 -> 首选项 ->其他:

 

 

将以下代码保存为cutName,放在%CYGWIN_HOME%/bin路径下,注意使用utf-8的无BOM格式编码:

 

 

#!/bin/sh

 

#2016-10-13 之前的搞法,不能实时输出,不实用,改了一波

 

replaceType=$1

cygwinPath=$2

winPath=$3

 

winPath=${winPath/"${cygwinPath}"/""}

shellPath=${winPath//'\'/'/'}

 

if [$replaceType = "-r" ] ; then

    sed -i 's/\r//' ${shellPath}

    chmod 775 ${shellPath}

elif[ $replaceType = "-b" ] ; then

    sed -i 's/$/\r/' ${shellPath}

fi

 

 

 

6、设置运行和快捷键

 

在Notepad++中设定运行时的命令,运行 -> 运行,输入以下代码,选择保存:

 

cmd /k cd $(CURRENT_DIRECTORY) & bash cutName -r %CYGWIN_HOME% '$(FULL_CURRENT_PATH)' & bash $(FULL_CURRENT_PATH) & bash cutName -b %CYGWIN_HOME% '$(FULL_CURRENT_PATH)' & pause & exit

 

输入一个名称,选择一个快捷键组合,注意不要和默认的快捷键冲突(默认的ALT + F1快捷键被我删除了)。

 

 

7、设置自动保存

 

现在就可以使用快捷键执行测试脚本了。但是有一个习惯问题,在执行脚本之前经常忘记保存。这里我们使用一个插件Auto Save来帮助我们在开始运行Shell之前自动保存。

 

选择Show PluginManager,在available中找到Auto Save(注意不是Auto Save2),选中Auto Save,点击Install。

 

 

安装完成后Notepad++会重启一次,重启完成后,在插件菜单打开Auto Save的配置项,选择当Notepad++丢失焦点以后自动保存,这样一来在执行Shell之前,Shell脚本就会自动保存了:

 

这个要注意下,开启窗口离开焦点自动保存,会对其他日常应用造成影响,需要权衡取舍。 

 

8、测试

 

在%CYGWIN_HOME%/home/%用户%下新建一个Shell脚本,如test.sh:

 

touch whosyourdaddy

echo `pwd`

echo 'work good'

 

保存,使用设定的快捷键运行脚本。

 

可以看到,执行脚本之前,已经切换到脚本所在路径。脚本在%CYGWIN_HOME%/home/%用户%下新建了一个文件。

 

 

到此环境搭建完成。

 

10、参考资料:

 

Cygwin64 Terminal:https://www.cygwin.com/

Cygwin安装:http://www.cygwin.cn/site/install/

Notepad++ AutoSave 自动保存插件:http://www.appinn.com/notepad-autosave/

windows上使用notepad++编辑shell脚本,并通过cygwin运行:http://kingj.iteye.com/blog/1870238

在notepad++中直接运行Python代码 : http://blog.chinaunix.net/uid-22521242-id-3438230.html

linux shell 字符串操作(长度,查找,替换)详解:http://www.cnblogs.com/chengmo/archive/2010/10/02/1841355.html

linux sed命令详解:http://www.iteye.com/topic/587673

 

转自:http://blog.csdn.net/hanhaixingchen/article/details/52151632

posted @ 2017-04-07 10:26  HE_PX  阅读(3766)  评论(0编辑  收藏  举报