树莓派,在脚本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
答
这是一种文件格式的问题。我正在使用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
答
将此添加到脚本的开头? #!/bin/bash
这是它将如何在Ubuntu不知道工作有关raspbian