GNU/Linux >> Tutoriales Linux >  >> Linux

¿Cómo pasar el contenido de un archivo como un parámetro de línea de comando?

Estoy almacenando una ruta de archivo en un archivo y necesito pasar el contenido de ese archivo como argumento para un script de shell, específicamente Maven, algo así:

mvn -Dvar_name=(contents of file)

¿Funcionaría esto:

mvn -Dvar_name=(cat /path/to/file)

?

Respuesta aceptada:

Esto se puede hacer usando la sustitución de comandos, así:

mvn -Dvar_name="$(cat /path/to/file)" # POSIX
mvn -Dvar_name="$(</path/to/file)"    # bash

Sin embargo, esto tiene una advertencia notable, a saber, que se eliminan todas las nuevas líneas finales. Sin embargo, si eso no importa, entonces debería funcionar.

Si realmente solo quiere leer una línea, puede usar read en cambio, así:

IFS= read -r line < /path/to/file
mvn -Dvar_name="$line"

Linux
  1. ¿Cómo el comando Sed '1!g;h;$!d' invierte el contenido de un archivo?

  2. CentOS/RHEL 7:Cómo modificar la línea de comandos del kernel

  3. ¿Cómo uso las líneas de un archivo como argumentos de un comando?

  4. Usando Linux, ¿cómo puedo pasar el contenido de un archivo como parámetro a un ejecutable?

  5. ¿Cómo agregar la salida a un archivo?

Cómo usar el comando diff de Linux

Cómo descargar un archivo en Ubuntu usando la línea de comandos

Cómo descargar un archivo en Ubuntu Linux usando la línea de comandos

Ver el contenido de un archivo en la línea de comandos de Linux

Cómo extraer el archivo Tar.xz en la línea de comandos de Linux

¿Cómo usar el comando Gzip en Linux?