2010年10月21日

開啟Cygwin後,自動執行特定shell script

若希望Cygwin執行後,自動去跑寫好的shell script,可使用下列方法達成
先到Windows中安裝Cygwin的根目錄下面找到cygwin.bat這個批次檔
例如C:\cygwin\cygwin.bat,然後使用記事本修改它

bash --login -i
執行此命令後dos視窗會自動轉換為cygwin環境的視窗,輸入exit返回dos視窗。
此命令若寫進.bat檔,則檔中之後的命令無法實現,故此命令只作為轉化環境用,在寫批次處理命令時不適用

bash --login -c "ls"
此命令就是直接運行cygwin的ls命令

bash --login -c "ls /etc"
顯示根目錄下etc資料夾中的內容

bash --login -c "sh /home/user/autossh.sh"
此命令是執行autossh.sh中的cygwin批次處理命令。此方法適合在Dos下的Cygwin中做批次處理。

EX:修改cygwin.bat內容為:
@echo off
chdir C:\cygwin\bin
bash --login -c "sh /home/user/autossh.sh"
即可透過bat檔語法,先到C槽目錄下,再呼叫bash執行特定的shell script

1 回應:

Lion Rex 提到...

可以請問一下:怎麼查 --login 後的參數嗎(像是-i -c) 謝謝

Copyright © 2009 New Life in Taipei All rights reserved. Theme by Laptop Geek. | Bloggerized by FalconHive.