コマンドに対してファイルに保存されている複数の入力パラメータを指定するには?

コマンドに対してファイルに保存されている複数の入力パラメータを指定するには?

以下から、複数のWebページをPDFファイルに変換したいと思います。

wkhtmltopdf http://think-like-a-git.net/sections/about-this-site.html http://think-like-a-git.net/sections/about-this-site/who-this-site-is-for.html all.pdf

2つの入力パラメータを "links"というテキストファイルに入れると:

http://think-like-a-git.net/sections/about-this-site.html 
http://think-like-a-git.net/sections/about-this-site/who-this-site-is-for.html

ファイルに基づいて入力パラメータをどのように指定しますか?以下は機能しません:

$ wkhtmltopdf "$(cat links)" all.pdf
Loading pages (1/6)
Counting pages (2/6)
Resolving links (4/6)
Loading headers and footers (5/6)
Printing pages (6/6)
Done
Exit with code 1 due to network error: ContentNotFoundError

ベストアンサー1

で二重引用符を使用すると、"$(cat links)"シェルはファイルの内容全体を別々のフィールド(各フィールドはファイルの1行)ではなく1つの文字列として扱います。

次のことができます。

set -f  # Turn off globbing
IFS='   # Split on newline only
'
wkhtmltopdf $(cat links) all.pdf

おすすめ記事