🐷
http ヘッダを bash で処理するときは改行コードに注意
MCP(ModelContextProtocol)の確認で, curl で POST メッセージつくろうと,
Claude くんに相談しながら, session-id 抜き出して処理しようとしました.
たとえば...
$ curl -D response_header.txt ...
grep -i "mcp-session-id" response_header.txt | cut -d' ' -f2 > sess_id.txt
sess_id=`cat sess_id.txt`
sess_header="mcp-session-id: ${sess_id}"
$ curl -H "${sess_header}" ...
しかし, 状況によってはうまくいかない.
...原因は改行コードでした!
Claude くんさぁ... 😡
http サーバのいくつかは '\r\n' で改行コード返します. そのため cat で session 文字列抽出では '\r' がのこりうまくいきませんでした.
解決
bash だと tr あたり使って
sess_id=`echo $(cat sess_id.txt) | tr -d '\r'`
として '\r' を除去しましょう.
Discussion