Linux RaspberryPI关闭脚本
所以我最近刚刚连接了我的新Rasppi,我想用shell脚本编写一个脚本来轻松关闭主板。通过一次谷歌搜索,我了解到这个命令:Linux RaspberryPI关闭脚本,linux,shell,raspberry-pi,Linux,Shell,Raspberry Pi,所以我最近刚刚连接了我的新Rasppi,我想用shell脚本编写一个脚本来轻松关闭主板。通过一次谷歌搜索,我了解到这个命令: sudo shutdown -h now 将从命令行关闭PI。现在我想把它变成一个脚本文件,我可以很容易地运行。它是否像粘贴到文本文件并保存为shell脚本那样简单?还是我遗漏了什么?您可以为它创建一个shell脚本,但通常,这是我们为其创建的别名。别名是常用命令的昵称,它们通常位于主目录中的.bashrc或.bash\u配置文件中 您可以为通常运行的所有命令声明别名。
sudo shutdown -h now
将从命令行关闭PI。现在我想把它变成一个脚本文件,我可以很容易地运行。它是否像粘贴到文本文件并保存为shell脚本那样简单?还是我遗漏了什么?您可以为它创建一个shell脚本,但通常,这是我们为其创建的
别名。别名是常用命令的昵称,它们通常位于主目录中的.bashrc
或.bash\u配置文件中
您可以为通常运行的所有命令声明别名。例如,如果希望在每次键入ls
时看到颜色,则应能够在.bashrc中包含以下别名:
alias ls='ls --color=auto'
现在,每次键入ls
,就好像键入了ls--color=auto
因此,您可以将shutdown命令命名为别名,但是sudo部分使它变得有点棘手,因为sudo将忽略您的.bashrc。因此,您可以执行以下操作:
alias sudo='sudo '
alias turnoff='shutdown -h now'
你可以叫它任何容易记住的名字。编辑.bashrc文件后,必须source
该文件,以便记住更改:
source ~/.bashrc
或:
在此之后,您的命令应该可以这样运行:
sudo turnoff
不过,我们在这里并没有为击键节省太多,如果您想重新启动而不是停止,或者想在几分钟内关机(例如,在完成更新之后),该怎么办
另外,由于您询问了shell脚本,您可以制作一个shell脚本,但是当您创建shell脚本时,通常需要做几件事:
编写脚本并在顶部包含一行“shebang:#/bin/bash
(这会告诉shell将使用什么来运行脚本)
chmod u+x
使脚本可执行,以及
将它放在~/bin/目录中(并确保该目录位于您的路径中)
您还可以查找common.bashrc文件,这样您就可以看到人们经常为哪些内容制作别名(这是我们在自定义命令行环境时通常首先做的事情之一)
例如,我仍然将rm
别名为rm-I
,每当我告诉它要删除某个内容时,它都会询问我,而我只有在我真的确定要删除某个内容时才会执行rm-f
。这里可能有很多人会认为这是愚蠢的,但是我过去已经懒惰地删除了很多东西,所以我不介意保护。代码> SudoPoopOut是一个稍短的方式…你可以简单地将它放在一个shell脚本中(添加一个#!/bin/sh
作为第一行,并使用chmod
使其可执行)我听说这不是一个好主意,因为它实际上没有关闭设备?我不记得到底说了什么,但大家都认为sudo关机是最好的方式。shutdown
是正确的方式。。。它通常通过提醒用户,然后切换到不同的运行级别来重新启动、停止或关闭系统。在Linux上,如果从运行运行级别运行,则命令poweroff
、halt
和reboot
也将切换运行级别。(手册页实际上提到它调用了关机
)(在Solaris上,它们直接停止操作系统、关闭系统电源或重新启动系统,而不给任务终止的机会……)(shutdown
是一个好习惯,但是init0
,init6
,init5
,reboot
,halt
或poweroff
可以根据操作系统获得相同的结果)谢谢你通知我!看看所有这些在非sysvinit
系统上是如何工作的,比如systemd
和upstart
。(sysvinit
你可以相对容易地阅读一些脚本并准确地了解正在发生的事情)(在RHEL上你可以查看/etc/rc
)只需使用alias-turnoff='sudo shutdown-h now'
。别名由用户的shell扩展,因此sudo永远看不到它…我最终按照本教程制作了一个bash文件:
sudo turnoff