2015-09-04 41 views
-1

当我运行:树莓派,在脚本apt-get的更新不起作用

sudo apt-get update 
sudo apt-get upgrade 
命令行

,它的工作原理。

如果我把同一行的脚本文件maintain.script:

echo UPDATING SYSTEM SOFTWARE – UPDATE 
sudo apt-get update 
echo UPDATING SYSTEM SOFTWARE – UPGRADE 
sudo apt-get upgrade 

并运行:

sudo ./maintain.sh 

我得到的错误:

E: Invalid operation update 
E: Invalid operation upgrade 

我已标记脚本作为可执行文件。

更新评论之后从FSQ

这里是脚本文件:

#!/bin/bash 
echo "UPDATING SYSTEM SOFTWARE – UPDATE" 
apt-get update 
echo "UPDATING SYSTEM SOFTWARE – UPGRADE" 
apt-get upgrade 
echo "UPDATING SYSTEM SOFTWARE – DISTRIBUTION" 
apt-get dist-upgrade 
echo "REMOVING APPLICATION ORPHANS" 
apt-get autoremove –purge 
echo "UPDATING FIRMWARE" 
rpi-update 

下面是一个命令:

[email protected] ~/projects $ sudo ./maintain.sh 

下面是结果:

: not foundsh: 1: ./maintain.sh: #!/bin/bash 
UPDATING SYSTEM SOFTWARE – UPDATE 
E: Invalid operation update 
UPDATING SYSTEM SOFTWARE – UPGRADE 
E: Invalid operation upgrade 
UPDATING SYSTEM SOFTWARE – DISTRIBUTION 
E: Invalid operation dist-upgrade 
REMOVING APPLICATION ORPHANS 
Reading package lists... Done 
Building dependency tree 
Reading state information... Done 
E: Unable to locate package –purge 
UPDATING FIRMWARE 
: not foundsh: 11: ./maintain.sh: rpi-update 

回答

2

这是一种文件格式的问题。我正在使用Windows记事本在文件夹共享上编辑文件,该记事本对Linux使用了不同的\ r \ n。

下面是纠正了我的脚本文件的命令:

sed -i 's/\r//' maintain.sh 

这里是我用来做一个文件夹中的所有脚本文件,并确保它们是可执行的脚本文件:

#!/bin/bash 
echo "Correcting script file formats" 
for file in *.sh 
do 
    echo $file 
    sed -i 's/\r//' $file 
    chmod +x $file 
done 
0

将此添加到脚本的开头? #!/bin/bash

这是它将如何在Ubuntu不知道工作有关raspbian