Shell 对象和旋度

问题描述 投票:0回答:1

我尝试在 puredata 中使用以下curl 命令和 shell 对象来检索图像:

curl -O -k 'https://cdn.onemars.net/sites/perfect-fit_uk_Z61CM_JAs8/image/editor/ben-griffiths-vqeoowvzzys-unsplash_1686909408862.jpg'

这在我的终端上运行良好。当我在 puredata 中执行等效操作(下面的代码)时,它告诉我它检索图像,完成后返回 1,但没有图像保存到我的计算机中。

#N canvas 0 23 821 330 12;
#X obj 243 123 shell;
#X obj 275 163 print DONE;
#X obj 225 183 print;
#X msg 241 38 curl -O -k 'https://cdn.onemars.net/sites/perfect-fit_uk_Z61CM_JAs8/image/editor/ben-griffiths-vqeoowvzzys-unsplash_1686909408862.jpg'
;
#X connect 0 0 2 0;
#X connect 0 1 1 0;
#X connect 3 0 0 0;

我哪里出错了?

shell curl puredata
1个回答
0
投票

您遇到的问题是您在消息中使用了单引号。

通常,您会在 shell 中使用单引号,以防止 shell 解释各种字符(如空格、星号……)。

但是,对于 Pd,消息的每个原子都作为单独的参数传递,因此无需使用引号。

事实上,通过您的调用,您告诉curl 从字面上打开一个URL

'https://cdn.onemars.net/sites/perfect-fit_uk_Z61CM_JAs8/image/editor/ben-griffiths-vqeoowvzzys-unsplash_1686909408862.jpg'
,而curl 并不真正知道如何处理这些引号。 如果你在控制台中运行 Pd,你会看到一个错误:

curl: Failed to extract a sensible file name from the URL to use for storage
curl: (3) URL using bad/illegal format or missing URL

如果你省略引号,它会神奇地起作用。

© www.soinside.com 2019 - 2024. All rights reserved.