Shell脚本无法识别声明的变量

时间:2013-11-06 13:19:48

标签: linux django shell sh openvpn

我得到了一个包含4个变量的shell脚本。太好了:

#!/bin/bash

echo keygeneration $1 $2 >> /tmp/logfile
touch /home/ubuntu/newproject/static/$1

KEY_NAME=$1
KEY_CN=$1

sh pkitool

真的没有什么复杂的...我有一个Django应用程序告诉用户输入用户名($ 1)和密码($ 2)。当我使用pkitool并给出2个变量KEY_NAME和KEY_CA一个内容时,它可以工作......当我在网站上输入用户名和密码时,脚本甚至会保存变量的内容并将其保存在/ static中。当我传递2个变量时,我甚至可以在shell中执行脚本....它看起来像这样:

sh keygen.sh FooUsername BarPassword

唯一不起作用的是,当我在应用程序中输入用户名和密码时,它将无法正确执行pkitool,并且未声明2个变量KEY_NAME = $ 1和KEY_CN = $ 1 ..但是是完全奇怪的,因为它确实保存变量$ 1虽然在静态Oo你们可以告诉我这是怎么来的吗?

1 个答案:

答案 0 :(得分:1)

您需要导出变量以通过子流程获取它们:

export KEY_NAME=$1
export KEY_CN=$2