GNU/Linux >> Linux Esercitazione >  >> Linux

Come scrivere uno script bash o automatizzare il vi aperto e modificare il documento?

vi è per definizione un editor visuale.

In questo caso è probabilmente meglio usare qualche altro mezzo.

Se vuoi solo aggiungere quelle righe, fai qualcosa come:

cat >> filename.sh <<'EOF'
export GRADLE_HOME=/opt/gradle/gradle-5.2.1
export PATH=${GRADLE_HOME}/bin:${PATH}
EOF

Funzionerà anche se il file non esiste ancora.

Se vuoi che queste righe vengano aggiunte all'inizio, puoi usare ed che è un editor orientato alla riga:

ed filename.sh <<'EOF'
1i
export GRADLE_HOME=/opt/gradle/gradle-5.2.1
export PATH=${GRADLE_HOME}/bin:${PATH}
.
w
q
EOF

Questo istruisce ed inserire righe alla riga 1; il punto solitario . sulla riga indica la fine dell'input, quindi l'inserimento si ferma lì. Infine viene scritto il file (w ) e la sessione di modifica è stata chiusa (q ).

Se insisti nell'usare ed anche se il file non esiste ancora (nel qual caso userei il file cat esempio sopra), puoi usare questo:

ed filename.sh <<'EOF'
i
export GRADLE_HOME=/opt/gradle/gradle-5.2.1
export PATH=${GRADLE_HOME}/bin:${PATH}
.
w filename.sh
q
EOF

La differenza principale è che non passi un numero di riga con i inserire il comando, poiché non ci sono ancora righe; e passi un nome file al w comando di scrittura che è il nuovo file.

sed può anche essere usato, ma per tali compiti trovo ed più facile da usare (e da leggere cosa sta succedendo).


Linux
  1. In Bash, quando alias, quando script e quando scrivere una funzione?

  2. Come ottenere il proprio indirizzo IP e salvarlo in una variabile in uno script di shell?

  3. Lo scopo di .bashrc e come funziona?

  4. Bash + Come uscire dallo script secondario e dallo script principale in entrambi i casi?

  5. Come faccio a conoscere il nome del file di script in uno script Bash?

Come scrivere uno script Bash con esempi

Bash Scripting Tutorial per principianti:cos'è, come scriverne uno ed esempi di script

Come eseguire uno script Bash

Come leggere l'intero script della shell prima di eseguirlo?

Come aggiungere automaticamente account utente E password con uno script Bash?

Come aprire, leggere e scrivere dalla porta seriale in C?