如何使用base64编码的图像作为参数?

时间:2019-03-27 21:30:53

标签: shell docker ubuntu command-line-arguments

我在运行程序时尝试将图像的base64编码用作标志。我回来了:参数列表太长

我在Mac上的Ubuntu 16.04 Docker映像上。

$ ./myProgram -input "/9j/4AAQSkZJRgABA [...]"

2 个答案:

答案 0 :(得分:0)

单个命令的长度限制。这是您的程序...将文件名作为自变量发送到您的程序,然后从文件中读取所需的信息,在每种方式上都应该更容易。您可以将文件的内容放入一个变量中(如果您确实希望将其作为变量)。如果您通过标准输入流将文件的内容传递给程序,则可能会更常规。

答案 1 :(得分:0)

建议不要从标准中读取它,而不是接受它作为参数。

$ base64 someImage.jpg | ./myProgram

如果该程序是Shell脚本,则可以使用以下方式将standard保存到一个变量中:

#!/bin/sh

MY_BASE64_IMAGE_INPUT=$(cat -)
# do something with that info
echo $MY_BASE64_IMAGE_INPUT