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

Bash脚本:将字符串编码为base64到变量中,bash,base64,command-substitution,Bash,Base64,Command Substitution,我有一个用户名和密码变量。我想用username:password的格式将它们编码为base64 #!/bin/bash username=username password=password echo Encoding username/password... echo $username:$password | base64 这是可行的,但我不确定如何将输出放入变量中,而不是将其写入控制台 另一方面,为什么输出与网站不同?使用$(…),将结果存储在变量中。 并使用-n不包括LF var=

我有一个
用户名
密码
变量。我想用
username:password
的格式将它们编码为base64

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

echo Encoding username/password...
echo $username:$password | base64
这是可行的,但我不确定如何将输出放入变量中,而不是将其写入控制台

另一方面,为什么输出与网站不同?

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

var=$(echo -n $username:$password | base64)

避免回声-n这不是标准。首选
printf而不是
var=$(printf'%s:%s'$username”“$password'| base64)