Come usare il comando Echo in PowerShell

Come usare il comando Echo in PowerShell

Il comando Echo viene utilizzato per stampare le variabili o le stringhe sulla console. Il comando Echo ha un alias chiamato "Write-Output"In Windows Powershell Scripting Language. In PowerShell, puoi usare "eco" E "Write-Output,"Che fornirà lo stesso output. La sintassi del comando Echo in PowerShell è mostrata di seguito:

Sintassi:

eco "… "

La sintassi sopra indicata stamperà tutto ciò che è scritto all'interno delle doppie citazioni. Se hai dichiarato una variabile e si desidera stampare il suo valore, digita la variabile all'interno di doppi citazioni e il suo valore verrà visualizzato. Tuttavia, se usi singoli citazioni nel comando Echo, verrà visualizzato solo il nome della variabile anziché il suo valore.

Questo articolo fornirà una panoramica dettagliata di PowerShell Cmdlet "Write-Output"E la differenza tra"Scrivi-host","eco", E "Write-Output".

Innanzitutto, inizieremo con le differenze tra i seguenti tre comandi di PowerShell: Write-Host, Write-Output ed Echo.

Differenza tra Echo, Write-Host e Write-Output

In PowerShell, Echo e Write-host generano lo stesso output. Tuttavia, il host Write differisce dal comando eco e dal cmdlet di write-output nel restituire i valori al motore PowerShell. Write-output viene utilizzato come alias per il comando Echo. È possibile eseguire il comando indicato di seguito per ottenere il "Alias"Del comando Echo:

> Get-comand echo

La differenza è che "Scrivi-host"Scrive solo sull'host e non restituisce alcun valore al motore PowerShell. Anzi, "Write-Output"Scrive sullo schermo e restituisce il contenuto al"Powershell" motore. Spiegheremo la differenza tra "Write-Output","Eco" E "Scrivi-host"Con esempi:

Esempio 1

Abbiamo creato uno script PowerShell chiamato "printcmdlet"E ho scritto il codice in esso. Abbiamo fatto una funzione "differenza"E ha specificato il colore del testo e il colore di sfondo usando le bandiere"-In primo piano" E "-Colore di sfondo“, Rispettivamente. Puoi osservare che abbiamo convocato il "differenza"Funzione con tutti e tre i comandi di stampa,"eco","Write-Output", E" Write-Host ".

Differenza della funzione

Processo write -host $ _ -ForegrorColor Yellow -backgroundColor Black

Echo "Questo è un test" | differenza
Write-host "Questo è un test" | differenza
Write-Output "This Is Test" | differenza
Write -host "This is a Test" -ForegroundColor Black -backgroundColor White

La vista script del codice è riportata di seguito:

Per eseguire lo script, passa alla directory in cui hai salvato lo script. Una volta che sei lì, scrivi ".\“, Questo simbolo aprirà un menu a discesa che mostra tutti i file all'interno della directory. Trova la tua sceneggiatura e, una volta caricato, premere "F5" correre:

Nota: IL "eco" E "Write-Output"Hanno preso la funzione. Tuttavia, "Scrivi-host"Non è riuscito a farlo. Devi cambiare le caratteristiche di "Scrivi-host"Come abbiamo fatto nell'ottava riga della sceneggiatura.

Esempio 2

Spiegheremo un altro esempio che illuminerà la differenza tra "eco","Scrivi-host", E "Write-Output":

Abbiamo creato tre script e nominati PO_HOST, PO_OUT e PO_ECHO, per "Scrivi-host","Write-Output", E "eco"Rispettivamente. In questi script, abbiamo creato una variabile in cui il "Get-comand"Cmdlet viene salvato. IL "Get-comand"Il comando viene utilizzato per stampare tutti gli alias, le funzioni e i cmdlet PowerShell sul sistema.

Scrivi-host

Write-Output

Eco

Esempio 1 mostra che solo il "Scrivi-host"Non ha tubola la funzione e, nell'esempio 2, il cmdlet Write-Host fornisce il risultato ma non è in ordine. La differenza spiegata negli esempi di cui sopra descrive che "eco" E "Scrivi-host"Può essere usato in alternativa, ma"Scrivi-host"Può essere usato solo quando si desidera ottenere l'output sulla console.

Uso dell'eco in PowerShell

Il comando Echo viene utilizzato per visualizzare l'output sulla console di output di PowerShell ISE.

Ad esempio, vuoi stampare "Ciao mondo"Utilizzando il comando Echo in PowerShell. Innanzitutto, crea una sceneggiatura di PowerShell e l'abbiamo nominata "Ciao.PS1". Apri lo script e scrivi il seguente codice:

> Echo "Hello World"

Il comando Echo può anche essere utilizzato per passare l'output a un altro cmdlet PowerShell. Il seguente codice pipisce il "Output passa"Stringa a un altro PowerShell Cmdlet,"Get-Member“:

> echo "pass output" | Get-Member

Il comando visualizzerà i membri del Sistema.Classe stringa di PowerShell. Significa che la stringa è passata attraverso la pipeline.

Tuttavia, ci sono altre operazioni multiple che possiamo eseguire utilizzando il comando Echo in PowerShell, come l'uso di parametri per manipolare l'output secondo i requisiti.

Echo supporta vari parametri, come mostrato di seguito. Tipo "Write-Output"Nel riquadro di scripting del"PowerShell ISE“, E poi scrivi un trattino (-). Verrà attivato un menu a discesa, che contiene il parametro supportato:

Ad esempio, il comando Echo/Write-Output stampa l'output come un'espressione individuale. IL -Noenumerate Il parametro ti aiuta a ottenere un singolo conteggio dei termini utilizzati nel comando Echo:

Spieghiamo questo parametro con l'aiuto di un esempio:

Abbiamo preso tre numeri interi e li abbiamo stampati usando "eco"In una sceneggiatura di PowerShell: stiamo dando un tubo a PowerShell Cmdlet"Misura-oggetto". Questo cmdlet PowerShell conterà il numero totale di espressioni utilizzate in un comando Echo e restituirà 3 come conteggio. Se usiamo "-Noenumerate“, Quindi visualizzerà 1 nel campo COUNT. Lo spiegheremo usando il "-Noenumerate"E senza usare"-Noenumerate".

Senza -noenumerate:

$ int1 = 3
$ int2 = 5
$ int3 = 7
echo $ int1, $ int2, $ int3 | Misura-oggetto

L'immagine seguente mostra il riquadro di script e l'output dello script:

Con -noenumerate:

$ int1 = 3
$ int2 = 5
$ int3 = 7
echo $ int1, $ int2, $ int3 -noenumerate | Misura-oggetto

Conclusione

Come altri linguaggi di scripting, PowerShell supporta il comando Echo per stampare tutto ciò che è scritto all'interno di doppie quote. Inoltre, ci sono altri comandi di stampa in PowerShell: Write-Output E Scrivi-host. L'eco e il write-output hanno la stessa procedura di funzionamento, mentre la scrittura è diversa da entrambi. In questo tutorial, abbiamo fornito una breve spiegazione del comando Echo in PowerShell. Inoltre, una chiara differenza tra "Scrivi-host","Write-Output", E "eco"È fornito per capire quale comando si adatterà a te.