다음 명령에서 공백이 포함된 파일 이름을 지원하려면 어떻게 해야 합니까?
echo "$(perl -MMIME::Base64 -e 'open F, shift; @lines=<F>; close F; print MIME::Base64::encode(join(q{}, @lines))' $filename)"
작동하지 않는 것 같은 다음을 시도했습니다.
echo ... \"$filename\")
echo '$(... "open..." "$filename")'
echo $(...'open ... "$filename")
답변1
echo "$(perl -MMIME::Base64 -0777 -pe '$_=MIME::Base64::encode$_' < "$filename")"
나는 echo
이것이 예라고 가정하고 있습니다. 그렇지 않은 경우:
perl -MMIME::Base64 -0777 -pe '$_=MIME::Base64::encode$_' < "$filename"
동등합니다.
일부 시스템에는 base64
다음 명령이 있습니다.
base64 < "$filename"
또는 openssl
설치된 경우:
openssl base64 < "$filename"