
Como posso oferecer suporte a nomes de arquivos com espaços no comando a seguir?
echo "$(perl -MMIME::Base64 -e 'open F, shift; @lines=<F>; close F; print MIME::Base64::encode(join(q{}, @lines))' $filename)"
Eu tentei o seguinte que não pareceu funcionar:
echo ... \"$filename\")
echo '$(... "open..." "$filename")'
echo $(...'open ... "$filename")
Responder1
echo "$(perl -MMIME::Base64 -0777 -pe '$_=MIME::Base64::encode$_' < "$filename")"
Presumo echo
que seja um exemplo aqui. Se não, isto:
perl -MMIME::Base64 -0777 -pe '$_=MIME::Base64::encode$_' < "$filename"
seria equivalente.
Observe que alguns sistemas possuem um base64
comando:
base64 < "$filename"
Ou se openssl
estiver instalado:
openssl base64 < "$filename"