2012-04-25 15 views
6

Sto cercando di spostare alcune delle mie operazioni di shell di routine da PowerShell a Cygwin, principalmente come un esercizio educativo, ma anche perché sto iniziando davvero ad amare alcuni degli strumenti di sapore di Linux. Una cosa che sto ancora cercando di risolvere è come elencare/manipolare i servizi di Windows. PowerShell aveva alcuni strumenti molto utili per questo, come ad esempio:windows windows services with cygwin

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

Io lavoro con un sacco di servizi personalizzati ultimamente e mi piacerebbe non dover passare a PowerShell per fare questo nel mio flusso di lavoro regolare. Qualcuno ha risolto questo problema? Diversi tentativi di google sono stati ostacolati da molte cose su come gestire cygwin come servizio.

Qualsiasi aiuto/consigli molto apprezzato ...

risposta

6

ne dite di invocare comandi PowerShell dall'interno Cygwin?

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

EDIT: E una soluzione più generale potrebbe essere quella di creare uno script che contiene powershell.sh:

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

Dopo di che è possibile eseguire: ./powershell.sh gsv o qualunque comandi necessari.

+0

Bello. Grazie! Ho aggiunto molte cose di questo tipo al file .bashrc. Sto indovinando il vantaggio del file .sh è solo per aiutare a mantenere le cose organizzate? – brettman

+0

Per tenerlo organizzato, e anche per renderlo più facile da condividere (nel mio caso è nel nostro repository sorgente) – sinelaw

Problemi correlati