Ich speichere einen Dateipfad in einer Datei und muss den Inhalt übergeben dieser Datei als Argument für ein Shell-Skript, insbesondere Maven, etwa so:
mvn -Dvar_name=(contents of file)
Würde das funktionieren:
mvn -Dvar_name=(cat /path/to/file)
?
Akzeptierte Antwort:
Dies kann durch Befehlsersetzung wie folgt erfolgen:
mvn -Dvar_name="$(cat /path/to/file)" # POSIX
mvn -Dvar_name="$(</path/to/file)" # bash
Dies hat jedoch eine bemerkenswerte Einschränkung, nämlich dass alle nachgestellten Zeilenumbrüche entfernt werden. Wenn das aber keine Rolle spielt, dann sollte das funktionieren.
Wenn Sie wirklich nur eine Zeile lesen möchten, können Sie read
verwenden stattdessen so:
IFS= read -r line < /path/to/file
mvn -Dvar_name="$line"