GNU/Linux >> Znalost Linux >  >> Linux

Jak předat obsah souboru jako parametr příkazového řádku?

Ukládám cestu k souboru do souboru a potřebuji předat obsah tohoto souboru jako argument pro skript shellu, konkrétně Maven, něco takového:

mvn -Dvar_name=(contents of file)

Fungovalo by to:

mvn -Dvar_name=(cat /path/to/file)

?

Přijatá odpověď:

To lze provést pomocí substituce příkazů, například takto:

mvn -Dvar_name="$(cat /path/to/file)" # POSIX
mvn -Dvar_name="$(</path/to/file)"    # bash

To má však pozoruhodnou výhradu, a sice že všechny koncové nové řádky jsou odstraněny. Pokud na tom nezáleží, pak by to mělo fungovat.

Pokud opravdu chcete přečíst jen jeden řádek, můžete použít read místo toho třeba takto:

IFS= read -r line < /path/to/file
mvn -Dvar_name="$line"

Linux
  1. Jak extrahovat soubor tar.gz v Linuxu pomocí příkazového řádku

  2. CentOS / RHEL 7 :Jak upravit příkazový řádek jádra

  3. Jak mohu použít řádky souboru jako argumenty příkazu?

  1. Jak používat příkaz Tar v Linuxu

  2. pomocí linuxu, jak mohu předat obsah souboru jako parametr spustitelnému souboru?

  3. Jak získat adresu URL souboru Dropbox z příkazového řádku?

  1. Jak příkaz Sed ‚1!g;h;$!d‘ obrátí obsah souboru?

  2. Jak připojit výstup do souboru?

  3. Jak vymazat obsah souboru z příkazového řádku?