我正在使用 macOS 13.6.1 (22G313) 的机器。
我曾经能够base64
从终端使用以下格式创建 .p12 文件(可能是 1 - 3 年前):
base64 mastercard-track.p12 > mastercard-track_base64.txt
base64
现在,当我尝试像这样使用该程序时,我收到此错误:
base64: invalid argument mastercard-track.p12
Usage: base64 [-hDd] [-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)
是个base64
我以前用的程序现在不一样了吗
答案1
您曾经使用base64
从 Homebrew 安装的(它安装约翰·沃克的base64
实施)。您不再安装该软件,因此您可以使用 Apple 的/usr/bin/base64
. macOS 附带的实用程序base64
具有不同的命令行语义(不同的选项等,它不是标准化的实用程序),而base64
Homebrew(可能还有 macOS 上的其他包管理器)提供的命令行语义与您在 ports/packages 中找到的相同在 OpenBSD、FreeBSD 和 NetBSD 上,而 Linux 通常使用 coreutils 实现。
您可以将输入重定向与现有的输出重定向一起使用,以使您的 shell 代码更加可移植:
base64 <mastercard-track.p12 >mastercard-track_base64.txt
这样做的好处是可以与 Applebase64
和base64
从 Homebrew 安装的实用程序一起使用。它还与 coreutils 变体兼容base64
。
答案2
看来base64
程序已经改变或者我以某种方式使用了不同的程序(很可能我使用了 Homebrewbase64
)。
使用以下unix
命令对我来说成功了:
base64 -b 64 -i mastercard-track.p12 -o mastercard-track_base64.txt