GNU/Linux >> Tutoriales Linux >  >> Linux

¿Cómo escribir un script bash o automatizar el vi abierto y editar el documento?

vi es por definición un editor visual.

En este caso, probablemente sea mejor usar otros medios.

Si solo desea agregar esas líneas, haga algo como:

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

Esto también funcionará si el archivo aún no existe.

Si desea agregar esas líneas al principio, puede usar ed que es un editor orientado a líneas:

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

Esto instruye a ed para insertar líneas en la línea 1; el punto solitario . en la línea indica el final de la entrada, por lo que la inserción se detiene allí. Finalmente se escribe el archivo (w ) y la sesión de edición se cerró (q ).

Si insiste en usar ed incluso si el archivo aún no existe (en cuyo caso usaría el cat ejemplo anterior), puede usar esto:

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 principal diferencia es que no pasa un número de línea con el i insertar comando, ya que aún no hay líneas; y le pasas un nombre de archivo al w comando de escritura que es el nuevo archivo.

sed también se puede usar, pero para tales tareas encuentro ed más fácil de usar (y de leer lo que sucede).


Linux
  1. ¿Cómo obtener la dirección IP propia y guardarla en una variable en un script de Shell?

  2. ¿Cómo leer todo el script de Shell antes de ejecutarlo?

  3. Bash + ¿Cómo salir del script secundario y del script principal en ambas ocasiones?

  4. ¿Cómo sé el nombre del archivo de script en un script Bash?

  5. ¿Cómo agregar automáticamente una cuenta de usuario Y una contraseña con un script Bash?

Cómo abrir y cerrar directorios en la terminal de Linux

Cómo escribir un bucle en Bash

Cómo escribir un script Bash con ejemplos

Tutorial de scripts de Bash para principiantes:qué es, cómo escribir uno y ejemplos de scripts

Cómo ejecutar un script Bash

Cómo enumerar los descriptores de archivos abiertos (y los archivos a los que se refieren) en mi sesión bash actual