
如何在以下命令中支援帶空格的檔案名稱?
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"