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
役に立ちませんでした。
- macOSコマンドを修正するには?
- 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 コマンドの削除無効な文字