やってみる

アウトプットすべく己を導くためのブログ。その試行錯誤すらたれ流す。

プログラミング言語で作ったCLIコマンドにstdinを渡す方法を考えてみた

 ない。諦めて起動引数など別案にすがるしかない。だが\n,\tが問題。

前回まで

どうやってstdinを渡す?

  • 起動引数
    • 複数行データは?
      • エスケープする
        1. シェル構文メタ文字である改行コードを\n文字に置換する
        2. プログラミング言語内で\n文字を改行コードに置換する
  • ファイルディスクリプタを介する
    • echo -e "A\n\tB" 1>&3 | some-cmd
    • やはり値がないときブロッキングが発生するのでは?
  • テキストファイルを介する
    • 面倒だからヤダ。メモリ上でやりとりしたい
  • コード内に埋め込む
    • 応用が効かないからヤダ。コマンド打つたびファイル編集するとかないわー

所感

 起動引数しかなさそう。でもそれ、stdinじゃないよね?

対象環境

$ uname -a
Linux raspberrypi 4.19.75-v7l+ #1270 SMP Tue Sep 24 18:51:41 BST 2019 armv7l GNU/Linux