如何在 Linux 和 macOS 上解码 Base64?

如何在 Linux 和 macOS 上解码 Base64?

在 Linux 上我可以这样做:

echo ${ANDROID_KEYSTORE} | base64 -di > android/keystores/staging.keystore

但在 macOS 上,相同的命令给出:

base64: option requires an argument -- i
Usage:  base64 [-hvDd] [-b num] [-i in_file] [-o out_file]
  -h, --help     display this message
  -Dd, --decode   decodes input
  -b, --break    break encoded string into num character lines
  -i, --input    input file (default: "-" for stdin)
  -o, --output   output file (default: "-" for stdout)

我尝试用 替换-di--decode --input但没有帮助。

  1. 如何修复 macOS 命令?
  2. 是否有一个命令可以同时在 Linux (Debian/Ubuntu) 和 macOS 上运行?

答案1

如果你想要可移植性,你必须-i自己实现 linux 风格的

# don't forget to quote the variable!
echo "${ANDROID_KEYSTORE}" \
| sed 's/[^A-Za-z0-9+/=]//g' \
| base64 -d

sed 命令删除无效字符

相关内容