2013-10-21 22 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等一起使用(請注意$在聲明時不使用)。

要知道在做什麼,你最好多發一些代碼。

相關問題