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

移植性が必要な場合は、-iLinuxスタイルを直接実装する必要があります。

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

sed コマンドの削除無効な文字

おすすめ記事