在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


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM