2012-04-25 69 views
6

我試圖將一些常規shell操作從powershell移動到cygwin,主要是作爲教育練習,但也因爲我真的開始喜歡一些linux風格的工具。我還在努力解決的一件事是如何列出/操作Windows服務。 PowerShell的有一些這方面的非常方便的工具,如:用cygwin監視windows服務

stop-service [pattern] 
start-service [pattern] 
gsv (or get-service) [pattern] 

我有很多的定製服務工作,最近並願意不必切換到PowerShell來做到這一點在我的正常工作流程。有沒有人解決這個問題?一些試圖谷歌這一直被阻礙了很多關於如何處理cygwin作爲服務運行的東西。

任何幫助/提示非常感謝...

回答

6

如何從cygwin內調用powershell命令?

cmd /c '%SystemRoot%\\system32\\WindowsPowerShell\\v1.0\\powershell.exe' -Command "gsv" 

編輯:和更普遍的解決方案是創建一個腳本powershell.sh其中包含:

#!/bin/bash 
set -e 
set -u 
cmd /c '%SystemRoot%\\system32\\WindowsPowerShell\\v1.0\\powershell.exe' -Command "[email protected]" 

後,你可以運行:./powershell.sh gsv或任何你需要的命令。

+0

不錯。謝謝!我一直在向.bashrc文件中添加很多這種東西。我猜測.sh文件的優勢只是爲了保持組織的東西? – brettman 2012-04-25 13:57:45

+0

爲了保持它的組織性,並且更容易共享(在我的情況下它在我們的源代碼庫中) – sinelaw 2012-04-25 13:59:20