2015-12-26 12 views
6

Ho giocato con OpenSSH on Windows e sembra che manchino i normali alias Unix. Non sono sicuro che stia avviando PowerShell o CMD. Qual è il modo corretto di vedere la shell attualmente in esecuzione su Windows?Come determinare se sono in PowerShell o cmd?

+2

'' (dir 2> & 1 * '| echo CMD); & <# rem #> echo PowerShell'' – PetSerAl

+0

Curioso quale potrebbe essere la migliore risposta. Penserei che questo potrebbe essere difficile alla ricerca di un modo "pulito" per farlo. Voglio dire, mentre ci sei, potresti anche chiedere se stai correndo in ruby ​​o python. PowerShell e cmd non sono affatto paragonabili. PowerShell è basato su .net e le sue somiglianze con cmd sono lì per facilitare la transizione per le persone che usavano il batch cmd – Matt

+0

@PetSerAl Questo non funziona se il profilo ridefinisce 'dir' per richiamare il comando dir di cmd.exe (che il mio profilo lo fa). Ma è comunque abbastanza intelligente. –

risposta

4

Tutto il merito va a PetSerAl, questo doveva essere pubblicato come risponderti:

(dir 2>&1 *`|echo CMD);&<# rem #>echo PowerShell 

All'interno Win32-OpenSSH questo comando funziona anche, e uscite CMD.

NB: Win32-OpenSSH sembra un po 'limitato, cd non è riconosciuto sul mio sistema.