base64
コマンドを使う時、毎回echo
を噛ませるのが面倒なのでエイリアスを設定する。
# エンコード
$ echo foobar | base64
Zm9vYmFyCg==
# デコード
$ echo Zm9vYmFyCg== | base64 -D
foobar
エイリアスの設定
リダイレクト<<<
1を用いる。
.zshrc | .bashrc
alias b64='base64 <<<'
alias d64='base64 -D <<<'
Stack Exchangeのこちらの回答を参考にしました。
確認
$ b64 foobar
Zm9vYmFyCg==
$ d64 Zm9vYmFyCg==
foobar
$ b64 "line
> break"
bGluZQpicmVhawo=
$ d64 bGluZQpicmVhawo=
line
break
改行を除く
上記の方法ではエンコードした際に改行Cg==
が入ってしまうので、これを除きたい場合は下記のようなシェル関数を定義します。
.zshrc | .bashrc
function b64() { echo -n $1 | base64 }
function b64() { printf '%s' "$1" | base64 } # @ko1nksm さんに教えていただきました
.zshrc
(.bashrc
)の編集後にsource ~/.zshrc (.bashrc)
を実行しても反映されない場合は、ターミナルを再起動してください。
-
正式名称は
Here Strings
↩