Sto memorizzando un percorso di file in un file e devo passare il contenuto di quel file come argomento per uno script di shell, in particolare Maven, qualcosa del genere:
mvn -Dvar_name=(contents of file)
Funzionerebbe:
mvn -Dvar_name=(cat /path/to/file)
?
Risposta accettata:
Questo può essere fatto usando la sostituzione dei comandi, in questo modo:
mvn -Dvar_name="$(cat /path/to/file)" # POSIX
mvn -Dvar_name="$(</path/to/file)" # bash
Ciò ha un notevole avvertimento, tuttavia, vale a dire che tutte le nuove righe finali vengono eliminate. Se non importa, allora dovrebbe funzionare.
Se vuoi davvero leggere solo una riga, puoi usare read
invece, così:
IFS= read -r line < /path/to/file
mvn -Dvar_name="$line"