Come rimuovere gli spazi finali alla fine di una riga di testo in uno script di shell

November 9

Come rimuovere gli spazi finali alla fine di una riga di testo in uno script di shell


Shell scripting in altri sistemi operativi Unix-like, come Linux e FreeBSD Unix e, viene eseguita in un ambiente di shell scripting. I due ambienti di scripting di shell più utilizzati sono bash (Bourne-Again Shell) e CSH (C-Shell). stringhe variabili in qualsiasi script di shell possono includere gli spazi iniziali, caratteri misti con gli spazi e gli spazi finali. Lo strumento Unix "sed" (stream editor) può essere utilizzato all'interno di script di shell di qualsiasi tipo di troncare spazi iniziali o finali da una linea variabile all'interno degli script.

istruzione

1 Apri il tuo script di shell nell'editor di testo VI. Per fare ciò, digitare il seguente (senza virgolette) alla linea di prompt dei comandi del sistema basato su Unix:

"VI myshellscript.sh"

Sostituire "myshellscript" con il titolo effettivo del file di script. Sentitevi liberi di iniziare un nuovo file chiamato "myshellscript.sh" sul vostro sistema se si vuole provare questa dimostrazione prima che impiegano queste informazioni nei vostri altri script.

2 Premere il tasto "A" sulla tastiera dopo che il file di script di shell è stato caricato all'interno dell'editor VI. Questo cambia il modo di VI alla modalità di modifica.

3 Creare la linea "shabang" come la prima linea del nuovo script. La linea shabang dice il vostro sistema Unix per il quale ambiente shell è stato scritto lo script. Se si utilizza l'ambiente BASH, dovrebbe apparire come segue (senza le virgolette) questa prima riga:

"#! / Bin / bash"

Se si utilizza l'ambiente CSH, la prima linea dovrebbe apparire così (senza virgolette):

"#! / Bin / csh -f"

4 Creare una riga vuota dopo la linea shabang, e avviare lo script con dichiarazione di una variabile e il suo contenuto. In questo esempio, la variabile verrà denominato "myVariable", e ci saranno diversi spazi volutamente lasciati alla fine del suo contenuto. Digitare il seguente (senza virgolette) su una riga vuota a parte:

"MyVariable =" C'erano spazi alla fine, ma ahimè, ora sono andati. "

5 Inserisci una linea che fa sì che l'ambiente di shell per stampare il contenuto del vostro variabili per lo schermo del terminale, e quindi aggiungere un separatore carattere "pipe", seguito dal comando sed per lo stripping spazio dal fine della riga come segue (senza virgolette esterno):

"echo" $ myVariable "| sed -e 's / ^ [[: space:]]

//' -e 's / [[: space:]] $ //'"

Aggiungere un altro comando echo seguito che consente di stampare più testo dopo l'operazione di cui sopra. Questa seconda linea di testo verrà eseguito insieme alla fine della prima riga, mostrando che gli spazi del primo sono stati rimossi:

"Echo" YO, non ci sono spazi tra le due linee! "

6 Premere il tasto "Esc" sulla tastiera, una volta per uscire dalla modalità di modifica, e quindi salvare lo script di shell esempio. Per salvare (w per la scrittura) e uscire (q per uscire) entrambi allo stesso tempo all'interno VI, inserire il seguente (senza virgolette) e premere il tasto "Enter":

": WQ myshellscript.sh"

A questo punto ritroverete di nuovo al prompt dei comandi di sistema nel terminale.

7 Impostare il file in modo che sia eseguibile. Per fare ciò, immettere la seguente riga (senza virgolette), mentre nella stessa directory in cui è stato salvato il file:

"Chmod a + x myshellscript.sh"

Utilizzare il nome del file al posto di "myshellscript" se è stato utilizzato un nome diverso.

8 Eseguire lo script di base per osservare che le linee sono stati rimossi. Per eseguire lo script, inserire il seguente (senza virgolette) al prompt dei comandi, mentre all'interno della directory in cui si trova il file:

"Sh myshellscript.sh"

La linea sarà quindi stampare sullo schermo del terminale senza spazi finali. Le due linee separate digitati nello script verrà eseguito insieme senza alcun spazio di separazione.

Consigli e avvertenze

  • Non dimenticate mai la linea iniziale "shabang" negli script di shell, in quanto è un requisito per gli script di shell per funzionare su tutti i sistemi operativi Unix e Unix-like.