2013-10-21 24 views
0

我必须使用一个预先存在的shell脚本来创建由我为其工作的公司开发的软件的Ubuntu软件包。有关创建Ubuntu包的.sh脚本的一些信息?

我在shell脚本和创建Ubuntu软件包方面都很新,所以我对它有很多疑问。

该脚本是.sh文件。这是一个bash脚本

第二疑问是关系到第一2行代码是:

JRE_I386="jre1.6.0_35-i386" 
JRE_AMD64="jre1.6.0_35-x86_64" 

我认为这些线正在声明2可变命名JRE_I386JRE_AMD64分别声明JRE版本为32位软件包和脚本将创建的64位软件包。这是真的吗?

但是他从哪里拿到JRE?究竟什么是价值jre1.6.0_35-i386和jre1.6.0_35-x86_64" 的?他们是系统变量指向JRE?还是什么?

TNX

安德烈

+0

他们只是字符串。要知道如何使用它们,您需要发布一些使用“JRE_I386”和/或“JRE_AMD64”值的代码。 – chepner

+1

如果您不熟悉Linux和shell脚本,请快速阅读几本书和教程**。 [高级Bash脚本指南](http://www.tldp.org/LDP/abs/html/)和[高级Linux编程](http://advancedlinuxprogramming.com/) - 以及[Unix shell]上的几个wikipages( http://en.wikipedia.org/wiki/Unix_Shell),[Syscalls](http://en.wikipedia.org/wiki/Syscall),[Linux内核](http://en.wikipedia.org/wiki/Linux_kernel)等... –

+0

对于它的价值,构建Debian软件包的正确方法就是['dpkg-buildpackage'](http://manpages.ubuntu.com/manpages/saucy/man1/dpkg-buildpackage.1.html)。 – tripleee

回答

1

是的,这是最有可能一个bash脚本和值“jre1.6.0_35-i386的”和“jre1.6.0_35-x86_64的”是变量是进一步使用了你的脚本,从他们的容貌激发适当的java版本。命令:

find/-name jre1.6.0_35-i386 
find/-name jre1.6.0_35-x86_64 

然后可能会显示系统上的JRE安装位置/目录。查看脚本中如何使用变量。发布更多内容将有助于消除我的“可能性”。

+1

这可能只会显示原始包文件,而不是这些包安装的实际二进制文件。了解OP的平台将有助于他的努力。在Debian衍生的Linux发行版中,'/ var/lib/dpkg/info/jre * .list'包含这个软件包安装的文件列表。 – tripleee

2

的延伸UNIX文件并不意味着什么,它只是用于“人”的阅读和理解什么告诉你什么程序来执行脚本的第一行:

#!/bin/bash 

#!/bin/sh 

或...

关于变量声明,是的,你是对的,这是声明变量的方法。然后它们将与$JRE_I386等一起使用(请注意$在声明时不使用)。

要知道在做什么,你最好多发一些代码。

相关问题