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

时间:2014-03-10 19:32:15

标签: macos bash shell variables terminal

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

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

用户将API_KEY放在引号中,安装程序运行正常,不会失败。我试图创建一个请求变量输入的脚本并运行安装程序。

尝试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不是有效命令,但我知道。我究竟做错了什么?任何输入都赞赏:)没有双关语意。

1 个答案:

答案 0 :(得分:1)

我真的不明白为什么你的尝试2不起作用。我不明白为什么shell会尝试在那里执行API_KEY=作为命令,因为它显然是installer环境的变量赋值。

无论如何,如果你这样写(等同于你的尝试2),它会给你什么错误信息? (这应该排除早先的......)

#!/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 /