Bash 脚本:将字符串编码为 base64 到变量中

Gil*_*ams 4 bash base64 command-substitution

我有一个usernamepassword变量。我想将它们编码为 base64,格式为username:password.

#!/bin/bash
username=username
password=password

echo Encoding username/password...
echo $username:$password | base64
Run Code Online (Sandbox Code Playgroud)

这可行,但我不确定如何将输出放入变量中而不是将其写入控制台。

顺便说一句,为什么输出与https://www.base64encode.org/这样的网站不同?

小智 7

使用$( ... ),将结果存储在变量中。并用于-n不包括 LF。

var=$(echo -n $username:$password | base64)
Run Code Online (Sandbox Code Playgroud)

  • 避免不标准的“echo -n”。更喜欢 `printf`:`var=$(printf '%s:%s' "$username" "$password" | base64)` (11认同)