curl経由でシェルを実行するときに標準入力をどうにかする
なんかのセットアップスクリプトとか、OSSだとよくあるような↓みたいなやつ
curl -sL https://xxxxxxxxxxxxxxxx/install.sh | sh
余計なものDLしないでサクッとセットアップできるので個人的にお気に入りなんで自分でもやってみようって気持ちになった。
大して難しくもないやろーと思ってたけど、地味に10分くらい悩んだところがあったのでメモ書き程度に残しておく
問題点
かなり簡略化してるけど、問題になったのはこんなシェル
つまり 標準入力を受け付ける様にしたかった わけです。
これを普通にcurl経由で実行しようとすると
curl -s https://gist.githubusercontent.com/ryutah/6f707deccdb02e504887f821af749dc7/raw/0e47b258345c0f20868bba3eafa156dd28df9d42/sample.sh | sh
こうなるわけなんだけど、こうやって実行するとこんな感じの結果になる

悲しいことに、標準入力を受け付けられないと。。。
解決方法
さて、このままじゃ困るぞってことで早速解決方法を
bash <(curl -s https://gist.githubusercontent.com/ryutah/6f707deccdb02e504887f821af749dc7/raw/0e47b258345c0f20868bba3eafa156dd28df9d42/sample.sh)
こんな感じで実行すれば標準入力受けれる様になる!

とまあ、知ってる人からすりゃ当たり前のことだと思うんだけど、ググりワードを考えるのが地味にめんどくさかった。
参考リンク
Read other posts