Come creare ed eseguire script Bash Shell su Windows 10

Con l’arrivo della shell Bash di Windows 10, ora puoi creare ed eseguire script della shell Bash su Windows 10. Puoi anche incorporare i comandi Bash in un file batch di Windows o in uno script PowerShell.

Anche se sai cosa stai facendo, potrebbe non essere così facile come sembra. Windows e UNIX utilizzano caratteri di fine riga diversi ed è possibile accedere al file system di Windows da una posizione diversa nell’ambiente Bash.

Come scrivere uno script Bash su Windows 10

Presto: Come installare e utilizzare Linux Bash Shell su Windows 10

Quando si scrivono script di shell su Windows, tenere presente che Windows e sistemi simili a UNIX come Linux utilizzano caratteri di “fine riga” diversi nei file di testo degli script di shell.

In altre parole, ciò significa che non puoi semplicemente scrivere uno script di shell in Blocco note. Salva il file in Blocco note e non verrà interpretato correttamente da Bash. Tuttavia, puoi utilizzare editor di testo più avanzati, ad esempio Bloc-notes ++ consente di assegnare a un file i caratteri di fine riga UNIX facendo clic su Modifica> Conversione EOL> Formato UNIX / OSX.


Tuttavia, è meglio scrivere lo script della shell nell’ambiente Bash stesso. L’ambiente Bash basato su Ubuntu viene fornito con gli editor di testo vi e nano. L’editor vi è più potente, ma se non l’hai mai usato prima, potresti iniziare con nano. È più facile da usare se sei nuovo.

Ad esempio, per creare uno script bash in nano, dovresti eseguire il seguente comando in bash:

nano ~/myscript.sh

Questo aprirà l’editor di testo Nano puntato a un file chiamato “myscript.sh” nella directory home del tuo account utente. (Il carattere “~” rappresenta la tua directory home, quindi il percorso completo è /home/username/myscript.sh.)

Inizia il tuo script di shell con la riga:

#!/bin/bash

Presto: Una guida per principianti allo scripting della shell: le basi

Immettere i comandi che si desidera eseguire, ciascuno sulla propria riga. Lo script eseguirà ogni comando a turno. Aggiungi un carattere “#” prima di una riga per trattarlo come un “commento”, qualcosa che aiuta te e gli altri a capire lo script, ma non viene eseguito come un comando. Per suggerimenti più avanzati, vedere una guida più dettagliata agli script Bash in Linux. Le stesse tecniche funzioneranno in Bash su Ubuntu su Windows.

Notare che non è possibile eseguire programmi Windows dall’ambiente Bash. Sei limitato ai comandi e alle utilità del terminale Linux, proprio come faresti su un normale sistema Linux.

Relazionato :  Come nascondere le app recenti dal Dock dell'iPad

Ad esempio, usiamo solo uno script di base “ciao mondo” come esempio qui:

#!/bin/bash
# set the STRING variable
STRING="Hello World!"
# print the contents of the variable on screen
echo $STRING

Se stai usando Nano Text Editor, puoi salvare il file premendo Ctrl + O e poi Invio. Chiudi l’editor premendo Ctrl + X.


Rendi eseguibile lo script, quindi eseguilo

Probabilmente vorrai rendere eseguibile lo script in modo da poterlo eseguire più facilmente. Su Linux, ciò significa che è necessario fornire l’autorizzazione all’eseguibile del file di script. Per fare ciò, esegui il seguente comando nel terminale, puntandolo sul tuo script:

chmod +x ~/myscript.sh

Per eseguire lo script, ora puoi eseguirlo nel terminale digitandone il percorso. Ogni volta che si desidera eseguire lo script in futuro, è sufficiente aprire la shell Bash e immettere il percorso dello script.

~/myscript.sh

(Se lo script si trova nella directory corrente, puoi eseguirlo con ./myscript.sh)

Come lavorare con i file di Windows in uno script Bash

Presto: Come accedere ai file Ubuntu Bash in Windows (e all’unità di sistema Windows in Bash)

Per accedere ai file di Windows nello script, sarà necessario specificare il loro percorso in / mnt / c, non il percorso di Windows. Ad esempio, se si desidera specificare il file test.txt di C: Users Bob Downloads, è necessario specificare il percorso /mnt/c/Users/Bob/Downloads/test.txt. Consulta la nostra guida alle posizioni dei file nella shell Bash di Windows 10 per maggiori dettagli.

Come incorporare i comandi Bash in uno script batch o PowerShell

Presto: Come impostare la distribuzione Linux predefinita su Windows 10

Infine, se si dispone di un file batch o di uno script PowerShell esistente in cui si desidera incorporare i comandi, è possibile eseguire i comandi Bash direttamente utilizzando il bash -c comandante.

Ad esempio, per eseguire un comando Linux in un prompt dei comandi o una finestra di PowerShell, è possibile eseguire il comando seguente:

bash -c "command"

Questo trucco ti consente di aggiungere comandi Bash a file batch o script PowerShell. La finestra della shell Bash apparirà quando un comando Bash è in esecuzione.

Aggiornare: Se sono installati più ambienti Linux, è possibile utilizzare il comando wslconfig per scegliere l’ambiente Linux predefinito utilizzato quando si esegue il bash -c comandante.


Per creare un collegamento a uno script Bash da Windows, è sufficiente creare un collegamento come al solito. Per la destinazione del collegamento, utilizzare il bash -c comando che abbiamo descritto sopra e indirizzalo allo script Bash che hai creato.

Ad esempio, punti una scorciatoia a ” bash -c "~/myscript.sh" “Per eseguire lo script di esempio sopra. Puoi anche eseguire questo comando da un prompt dei comandi o da una finestra di PowerShell.

Relazionato :  Come ordinare le app macOS per categoria nel Finder

Moyens Staff
Lo staff di Moyens I/O ti ha motivato, dandoti consigli su tecnologia, sviluppo personale, stile di vita e strategie che ti aiuteranno.