駄文。

プログラマーの日常でつまずいたこと・気づいたことなどの記録です

echo の出力の文末に改行コードが含まれて都合が悪い

CURLで出力するBasic認証のヘッダを作成する際に楽しようとbase64コマンドで生認証情報をエンコードしようとした。 で、以下のようなスクリプトを用意してみた。

curl -H "Authorization:echo "id:password"|base64" https://www.example.com/

正しく動作するはずとおもっていろいろ試してみるとどうも、echoで出力される最後に改行コードが付与されていること がわかった。

なんとかならないかと調べるとechoコマンドに -nなるオプションがあり、文末の改行コードの出力を抑止できることが わかった。

最終的に以下のように修正したらうまく動作しました。

curl -H "Authorization:echo -n "id:password"|base64" https://www.example.com/

めでたし、めでたし