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"