Linux 如何为Debian创建自动安装命令脚本

Linux 如何为Debian创建自动安装命令脚本,linux,bash,shell,debian,Linux,Bash,Shell,Debian,所以我在做一个需要一些库的项目。所以我决定制作一个.sh脚本,一次安装所有的程序,但我不知道为什么它会失败。我在搜索它,但刚刚找到了如何创建安装程序,如.deb等 下面是我使用的命令行 安装.sh 使用 bash install.sh 我明白了,我想我只是做错了几件事 E: The update command takes no arguments Reading package lists... Done Building dependency tree Reading sta

所以我在做一个需要一些库的项目。所以我决定制作一个.sh脚本,一次安装所有的程序,但我不知道为什么它会失败。我在搜索它,但刚刚找到了如何创建安装程序,如.deb等 下面是我使用的命令行

安装.sh

使用

bash install.sh
我明白了,我想我只是做错了几件事

E: The update command takes no arguments
Reading package lists... Done
Building dependency tree       
Reading state information... Done
E: Unable to locate package 
Reading package lists... Done
Building dependency tree       
Reading state information... Done
............

有人能帮我一下吗?

脚本开头的shebang是一个引导脚本

您正在使用:

#!/bin/sh 
当此脚本应使用以下命令调用bash环境时:

#!/bin/bash
那应该能解决你的问题

正如sergio所说,这些可以在一行程序中完成,如:

#!/bin/bash

sudo apt-get update && sudo apt-get upgrade -y

sudo apt-get install -y python3-pip python3-dev  build-essential cmake git unzip pkg-config libopenblas-dev liblapack-dev python-numpy python-scipy python-matplotlib python aml libhdf5-serial-dev python-h5py graphviz python-opencv python-sklearn python3-sklearn

sudo pip3 install matplotlib pydot-ng tensorflow keras scikit-learn
至少利用数组进行更高效的bash编程,如下所示:

#!/bin/bash

sudo apt-get update && sudo apt-get upgrade -y

aptDepends=( 
               python3-pip 
               python3-dev  
               build-essential 
               cmake 
               git 
               unzip 
               pkg-config
               libopenblas-dev
               liblapack-dev  
               python-numpy
               python-scipy
               python-matplotlib
               python 
               aml  
               libhdf5-serial-dev 
               python-h5py  
               graphviz  
               python-opencv  
               python-sklearn  
               python3-sklearn
           )

pipDepends=(
               matplotlib
               pydot-ng
               tensorflow
               keras
               scikit-learn
           )
sudo apt-get install -y "${aptDepends[@]}" && sudo pip3 install -y "${pipDepends[@]}"

脚本开头的shebang用于启动脚本

您正在使用:

#!/bin/sh 
当此脚本应使用以下命令调用bash环境时:

#!/bin/bash
那应该能解决你的问题

正如sergio所说,这些可以在一行程序中完成,如:

#!/bin/bash

sudo apt-get update && sudo apt-get upgrade -y

sudo apt-get install -y python3-pip python3-dev  build-essential cmake git unzip pkg-config libopenblas-dev liblapack-dev python-numpy python-scipy python-matplotlib python aml libhdf5-serial-dev python-h5py graphviz python-opencv python-sklearn python3-sklearn

sudo pip3 install matplotlib pydot-ng tensorflow keras scikit-learn
至少利用数组进行更高效的bash编程,如下所示:

#!/bin/bash

sudo apt-get update && sudo apt-get upgrade -y

aptDepends=( 
               python3-pip 
               python3-dev  
               build-essential 
               cmake 
               git 
               unzip 
               pkg-config
               libopenblas-dev
               liblapack-dev  
               python-numpy
               python-scipy
               python-matplotlib
               python 
               aml  
               libhdf5-serial-dev 
               python-h5py  
               graphviz  
               python-opencv  
               python-sklearn  
               python3-sklearn
           )

pipDepends=(
               matplotlib
               pydot-ng
               tensorflow
               keras
               scikit-learn
           )
sudo apt-get install -y "${aptDepends[@]}" && sudo pip3 install -y "${pipDepends[@]}"

您只需使用
sudobash install.sh
并在实际脚本的行中删除
sudo
,它就会工作。您可以在脚本顶部添加
set-xe
,以查找出现错误的行。您可以使用一个
apt get install
安装所有必要的软件包。这同样适用于
pip3安装
。采取额外的步骤并构建一个实际的.deb包是值得的。这将解决您当前的一些问题,并使您的软件更易于安装。此外,构建软件包是一项非常有用的技能。您只需使用
sudo bash install.sh
并在实际脚本的行中删除
sudo
,它就会起作用。您可以在脚本顶部添加
set-xe
,以查找出现错误的行。您可以使用一个
apt get install
安装所有必要的软件包。这同样适用于
pip3安装
。采取额外的步骤并构建一个实际的.deb包是值得的。这将解决您当前的一些问题,并使您的软件更易于安装。此外,构建软件包是一项有用的技能。哇,我没有意识到这次聚会,谢谢你的帮助,真的很感激。哇,我没有意识到这次聚会,谢谢你的帮助,真的很感激