GNU/Linux >> Tutoriels Linux >  >> Linux

Comment écrire un script bash ou automatiser l'ouverture de vi et modifier le document ?

vi est par définition un éditeur visuel.

Dans ce cas, il est probablement préférable d'utiliser d'autres moyens.

Si vous souhaitez uniquement ajouter ces lignes, procédez comme suit :

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

Cela fonctionnera également si le fichier n'existe pas encore.

Si vous voulez que ces lignes soient ajoutées au début, vous pouvez utiliser ed qui est un éditeur orienté ligne :

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

Ceci indique ed pour insérer des lignes à la ligne 1 ; le point solitaire . sur la ligne indique la fin de la saisie, donc l'insertion s'arrête là. Enfin le fichier est écrit (w ) et la session d'édition quittée (q ).

Si vous insistez pour utiliser ed même si le fichier n'existe pas encore (auquel cas j'utiliserais le cat exemple ci-dessus), vous pouvez utiliser ceci :

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 principale différence est que vous ne passez pas de numéro de ligne avec le i insérer la commande, car il n'y a pas encore de lignes ; et vous passez un nom de fichier au w commande d'écriture qui est le nouveau fichier.

sed peut également être utilisé, mais pour de telles tâches, je trouve ed plus facile à utiliser (et à lire ce qui se passe).


Linux
  1. Dans Bash, quand créer un alias, quand créer un script et quand écrire une fonction ?

  2. Comment obtenir la propre adresse IP et l'enregistrer dans une variable dans un script shell ?

  3. Le but de .bashrc et comment ça marche ?

  4. Comment répertorier les descripteurs de fichiers ouverts (et les fichiers auxquels ils se réfèrent) dans la session Bash en cours ?

  5. Comment lire l'intégralité du script Shell avant de l'exécuter ?

Comment ouvrir et fermer des répertoires dans le terminal Linux

Comment écrire une boucle dans Bash

Comment écrire un script bash avec des exemples

Tutoriel de script Bash pour les débutants :qu'est-ce que c'est, comment en écrire un et exemples de script

Comment exécuter un script bash

Comment arrêter le script Loop Bash dans le terminal ?