Je stocke un chemin de fichier dans un fichier et j'ai besoin de transmettre le contenu de ce fichier en tant qu'argument d'un script shell, en particulier Maven, quelque chose comme ceci :
mvn -Dvar_name=(contents of file)
Est-ce que cela fonctionnerait :
mvn -Dvar_name=(cat /path/to/file)
?
Réponse acceptée :
Cela peut être fait en utilisant la substitution de commande, comme ceci :
mvn -Dvar_name="$(cat /path/to/file)" # POSIX
mvn -Dvar_name="$(</path/to/file)" # bash
Cela a cependant une mise en garde notable, à savoir que toutes les nouvelles lignes de fin sont supprimées. Si cela n'a pas d'importance, cela devrait fonctionner.
Si vous voulez vraiment lire une seule ligne, vous pouvez utiliser read
à la place, comme ceci :
IFS= read -r line < /path/to/file
mvn -Dvar_name="$line"