GNU/Linux >> LINUX-Kenntnisse >  >> Linux

Wie übergebe ich den Inhalt einer Datei als Befehlszeilenparameter?

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"

Linux
  1. So extrahieren Sie die tar.gz-Datei in Linux mithilfe der Befehlszeile

  2. Wie kehrt der Befehl Sed ‘1!g;h;$!d’ den Inhalt einer Datei um?

  3. Wie verwende ich die Zeilen einer Datei als Argumente eines Befehls?

  4. Wie kann ich unter Linux den Inhalt einer Datei als Parameter an eine ausführbare Datei übergeben?

  5. Wie hängt man die Ausgabe an eine Datei an?

So verwenden Sie den Linux-diff-Befehl

So laden Sie eine Datei auf Ubuntu über die Befehlszeile herunter

So laden Sie eine Datei unter Ubuntu Linux über die Befehlszeile herunter

Zeigen Sie den Inhalt einer Datei in der Linux-Befehlszeile an

So extrahieren Sie die Tar.xz-Datei in der Linux-Befehlszeile

Wie verwende ich den Gzip-Befehl unter Linux?