Macos 用用户输入替换安装程序的变量

Macos 用用户输入替换安装程序的变量,macos,bash,shell,variables,terminal,Macos,Bash,Shell,Variables,Terminal,我有.pkg,它需要用户输入安装所需的变量 API_KEY="xxxxxxxxxxxxx" installer -pkg /prey-0.6.2-mac-batch.mpkg -target / 用户将API_键放入引号中,安装程序运行正常,不会出现故障。我试图创建一个脚本,请求输入变量并运行安装程序 尝试1: #!/bin/bash API_KEY="$INPUT_API_KEY" read -p "Please input your API KEY:" INPUT_API_KEY i

我有.pkg,它需要用户输入安装所需的变量

API_KEY="xxxxxxxxxxxxx" installer -pkg /prey-0.6.2-mac-batch.mpkg -target /
用户将API_键放入引号中,安装程序运行正常,不会出现故障。我试图创建一个脚本,请求输入变量并运行安装程序

尝试1:

#!/bin/bash

API_KEY="$INPUT_API_KEY"

read -p "Please input your API KEY:" INPUT_API_KEY

installer -pkg /prey-0.6.2-mac-batch.mpkg -target /
尝试2:

#!/bin/bash

read -p "Please input your API KEY:" INPUT_API_KEY

API_KEY="$INPUT_API_KEY" installer -pkg /prey-0.6.2-mac-batch.mpkg -target /

当我在这个上下文中使用API_KEY=时,命令行会抛出错误,说API_KEY不是有效的命令,但我知道这一点。我做错了什么?感谢您的任何意见:)无意使用双关语

我真的不明白为什么你的尝试2不起作用。我不明白为什么shell会尝试将
API\u KEY=
作为一个命令在那里执行,而这显然是
安装程序
环境的变量赋值

无论如何,如果你这样写(相当于你的尝试2),它会给你什么错误信息?(这应该排除前面的一个…)


是的,我忘了提到尝试3 lol我使用了导出,但这是我在解释器之后的第一行,直到得到无效的API\u键谢谢你的帮助。我们不知道第二次尝试怎么不起作用。@Geoffrey是的。也许以后会有人知道并评论;-)
#!/bin/bash
read -p "Please input your API KEY:" INPUT_API_KEY
export API_KEY="$INPUT_API_KEY"
installer -pkg /prey-0.6.2-mac-batch.mpkg -target /