如何制作ubuntu可执行文件并在我的安装文件中运行它

时间:2014-10-19 08:21:59

标签: linux git bash ubuntu-12.04 executable

这是下面的安装文件(sandhi-install.sh)。目前安装后,它只能从终端运行。我想让它终端独立。 Making a Ubuntu executable解释了如何创建可执行文件,但我应该在哪里放置该代码。我认为它应该在安装文件本身,因为我们希望安装完成后图标出现在桌面上。     我以前没有Shell脚本和bash的经验,如果我错过了任何重要信息,那就很抱歉。请询问您是否需要任何其他文件。我的目标基本上是独立于终端运行sandhi。

#!/bin/bash

echo "Installing the required dependencies"

sudo apt-get -y install git-core autoconf automake make libtool g++ python-dev swig \
pkg-config libboost1.48-all-dev libfftw3-dev libcppunit-dev libgsl0-dev \
libusb-dev sdcc libsdl1.2-dev python-wxgtk2.8 python-numpy \
python-cheetah python-lxml doxygen python-qt4 python-qwt5-qt4 libxi-dev \
libqt4-opengl-dev libqwt5-qt4-dev libfontconfig1-dev libxrender-dev \
python-serial python-matplotlib

echo "Sciscipy installation starting"
git clone https://github.com/manojgudi/sciscipy-1.0.0.git
cd sciscipy-1.0.0/
sudo ./install

echo "Starting Sandhi installation"
cd ../
git clone http://github.com/manojgudi/sandhi.git
cd sandhi/
git submodule init
git submodule update
git pull origin master
git submodule update

mkdir build
cd build/
cmake ../
make -j 2
sudo make install
sudo ldconfig

echo "Sandhi installation complete. Go to command line and type Sandhi to start Sandhi"

1 个答案:

答案 0 :(得分:2)

您的脚本已具备成为*nix executable - shebang line的所有正确要素,并且至少看起来像解释器的有效代码(/bin/bash)。您需要做的就是让相关用户和/或组(或每个人)对该文件执行访问。例如,如果您是文件的所有者:

sandhi@host$ ls -l sandhi.sh
-rw-r--r--  1 purak users 3.5K Oct 11 16:55 sandhi.sh
sandhi@host$ chmod u+x sandhi.sh

现在你可以执行它了:

sandhi@host$ ls -l sandhi.sh
-rwxr--r--  1 purak users 3.5K Oct 11 16:55 sandhi.sh
sandhi@host$ ./sandhi.sh

对于问题的其余部分,目前还不清楚你在问什么。已接受的Making a Ubuntu executable答案表示,如果可执行文件foo.bin位于/usr/local/bin(自定义可执行文件的合理目标),则桌面条目中的行应为{ {1}}。