Perl

迴聲中的perl命令中帶有空格的文件名

  • August 26, 2018

如何在以下命令中支持帶空格的文件名?

echo "$(perl -MMIME::Base64 -e 'open F, shift; @lines=<F>; close F; print MIME::Base64::encode(join(q{}, @lines))' $filename)"

我嘗試了以下似乎不起作用的方法:

  1. echo ... \"$filename\")
  2. echo '$(... "open..." "$filename")'
  3. echo $(...'open ... "$filename")
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"

引用自:https://unix.stackexchange.com/questions/464915