Bash raspberry pi,脚本中的apt get update不起作用
当我跑步时:Bash raspberry pi,脚本中的apt get update不起作用,bash,raspberry-pi,raspbian,Bash,Raspberry Pi,Raspbian,当我跑步时: 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: In
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
sed -i 's/\r//' maintain.sh
命令如下:
pi@raspberrypi2 ~/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
将此添加到脚本的开头/bin/bash
这就是它在ubuntu上的工作方式不确定raspbian的情况这是一个文件格式问题。我正在使用Windows记事本通过文件夹共享编辑文件,该记事本使用与Linux不同的\r\n版本 以下是更正我的脚本文件的命令:
#!/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
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