2011-03-04 77 views
0

我正在编写一个非常简单的外壳脚本,它并不像它应该那样工作。以下是内容:外壳脚本需要变量作为命令

# Defining base project directory 
BASE_DIR=/path/to/proj; 
PRODUCTION_DIR = $BASE_DIR/out/production/dir; 

# Generating headers 
javah -classpath $PRODUCTION_DIR -d $BASE_DIR/jni/include com.my.class.Name 

#  Building native libs 
ndk-build 

路径是正确的,它的工作原理,如果我删除$ PRODUCTION_DIR,我是否会像这样运行它,它说:

line 3: PRODUCTION_DIR: command not found 
... 

是否有任何人知道什么是错误?

+2

如果这是一个bash或破折号或sh脚本,则不需要(也可能不应该)用分号终止行。 – glomad 2011-03-04 17:48:02

回答

7

删除空白,

PRODUCTION_DIR=$BASE_DIR/out/production/dir 

否则你想运行PRODUCTION_DIR与参数=$BASE_DIR/out/production/dir

此外,取出;公司在行结束,他们是多余的

+1

+1,而且,你应该使用'make'这样的构建工具。不是shell脚本。 – 2011-03-04 17:55:54

+0

@Noufal Ibrahim,从java源文件生成头文件并编译ndk项目... make? – 2011-03-04 17:59:42

+0

我完全不熟悉java,对生态系统没有经验,但我猜你正在做某种构建,因此建议使用make(这是我习惯的)构建系统。 – 2011-03-04 18:09:15