1

我得到了一个带有 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 你们能告诉我这是怎么来的吗?

4

1 回答 1

1

您需要导出变量以使它们被子流程拾取:

export KEY_NAME=$1
export KEY_CN=$2
于 2013-11-06T13:39:30.533 回答