Blog Archives

bashでコマンドライン引数にファイルの中身を渡す

標準出力先としてファイル名を指定するのではなく、ファイルの中身(body)を引数として渡すにはどうすればよいのか? 実験用スクリプト 確認のため、次の簡易的なシェルスクリプトで各コマンドライン引数を表示させる。 入力ファイルとしては次のように改行やスペースを含んだ JSON ファイルを渡す 実行コマンド 結果論としては、以下のように printf と cat をコンボすればよい 解説 ポイントとなるのは次の箇所 ここを単純に $(cat test.json) や bash 方言のショートカットである $(< test.json) とすると、改行・スペースを引数の区切りとしてみなされてしまう この問題を回避するために、ファイルの中身全体を1文字列として扱うために printf ‘%s’ でラップさせるというわけ。 Reference linux – command line arguments from a file content – Stack Overflow

Tagged with: , , ,
Posted in linux
Archives
  • RT @__apf__: How to write a research paper: a guide for software engineers & practitioners. docs.google.com/presentation/d… /cc @inwyrd 6 days ago
  • RT @HayatoChiba: 昔、自然と対話しながら数学に打ち込んだら何かを悟れるのではと思いたち、専門書1つだけ持ってパワースポットで名高い奈良の山奥に1週間籠ったことがある。しかし泊まった民宿にドカベンが全巻揃っていたため、水島新司と対話しただけで1週間過ぎた。 それ… 3 weeks ago
  • RT @googlecloud: Ever wonder what underwater fiber optic internet cables look like? Look no further than this deep dive w/ @NatAndLo: https… 3 weeks ago
  • @ijin UTC+01:00 な時間帯で生活しています、、、 6 months ago
  • RT @mattcutts: Google's world-class Site Reliability Engineering team wrote a new book: amazon.com/Site-Reliabili… It's about managing produc… 9 months ago