このインストールスクリプトはほとんどのプログラムでエラーを発生させますUnable to locate package
。
#! /bin/bash
apps=(
'python-dev',
'python-pip',
'python-numpy',
'python-scipy',
'python-matplotlib',
'ipython',
'ipython-notebook',
'python-pandas',
'python-sympy',
'python-nose',
'python-picamera',
'openssh-client',
'openssh-server',
'vim'
)
sudo apt-get update
# Loop over apps and install each one with default 'yes' flag
for app in "${apps[@]}"
do
sudo apt-get install $app -y
done
# configure ssh
sudo cp /etc/ssh/sshd_confi /etc/ssh/sshd_config.original
sudo chmod a-w /etc/ssh/sshd_config.original
piplist=(
'networkx',
'scikit-image'
)
for app in "${piplist[@]}"
do
sudo pip install -U $app
done
vimのみがインストールされています。だから私のリポジトリのリストが更新されていないようですが、これが「sudo apt-get update」の目的だと思います。
実行すると、sudo apt-get install python-dev
スクリプトの外部にパッケージがインストールされます。
答え1
$ appがvim以外のパッケージ名にコンマを追加するようです。アプリからカンマを削除してみてください。
または試してみてください
sudo apt-get install $(echo $app | sed 's/,//g') -y
変える
sudo apt-get install $app -y
そして
sudo pip install -U $(echo $app | sed 's/,//g')
変える
sudo pip install -U $app
答え2
私が交換する必要があるMilinの答えは解決策sudo apt-get install $app -y
です。sudo apt-get install $(echo $app | sed 's/,//g') -y
答え3
配列の各メンバーの後にあるすべてのコンマ()を削除すると、コマンドを他の方法で変更する,
必要はありません。apt-get install
したがって、スクリプトは次のようになります。
#!/bin/bash
apps=(
'python-dev'
'python-pip'
'python-numpy'
'python-scipy'
'python-matplotlib'
'ipython'
'ipython-notebook'
'python-pandas'
'python-sympy'
'python-nose'
'python-picamera'
'openssh-client'
'openssh-server'
'vim'
)
sudo apt-get update
# Loop over apps and install each one with default 'yes' flag
for app in "${apps[@]}"
do
sudo apt-get install $app -y
done