2017-08-07 1070 views
1

如果我嘗試Base64編碼的字體文件和輸出內容到一個文本文件,像這樣:如何在CURL中使用base64命令?

base64 myfont.woff2 > output.txt 

它的偉大工程給該字體存儲在本地。但是,如果我嘗試從Web URL捲曲字體和BASE64它導致一堆亂碼的輸出被保存到文件中,例如:

#!/bin/bash 
declare -a arr=(
    "https://fonts.gstatic.com/s/opensans/v14/K88pR3goAWT7BTt32Z01mxJtnKITppOI_IvcXXDNrsc.woff2" 
) 

for i in "${arr[@]}" 
do 
    content="$(curl -s "$i")" 
    echo base64 "$content" > output.txt 
done 

如何得到這個工作?

回答

3

可以通過管道curl輸出到base64

for i in "${arr[@]}"; do 
    curl -s "$i" | base64 
done > output.txt 
1

base64命令期待的文本要被解碼作爲輸入,而不是作爲一個參數。您可以管捲曲它直接:

curl -s "$url" | base64 

,或者一旦捕獲在一個變量的捲曲結果在你的原代碼,使用下面的字符串:

base64 <<<"$content"