GNU/Linux >> Tutoriels Linux >  >> Linux

Comment passer le contenu d'un fichier en tant que paramètre de ligne de commande ?

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"

Linux
  1. Comment utiliser la commande Tar sous Linux

  2. Comment extraire le fichier tar.gz sous Linux à l'aide de la ligne de commande

  3. CentOS / RHEL 7 :Comment modifier la ligne de commande du noyau

  4. Comment utiliser les lignes d'un fichier comme arguments d'une commande ?

  5. en utilisant Linux, comment puis-je passer le contenu d'un fichier en tant que paramètre à un exécutable ?

Comment utiliser la commande Linux diff

Comment télécharger un fichier sur Ubuntu à l'aide de la ligne de commande

Comment télécharger un fichier sur Ubuntu Linux à l'aide de la ligne de commande

Afficher le contenu d'un fichier dans la ligne de commande Linux

Comment extraire le fichier Tar.xz sur la ligne de commande Linux

Comment utiliser la commande Gzip sous Linux ?