所以我最近刚刚连接了我的新Rasppi,我想用shell脚本编写一个脚本来轻松关闭电路板。通过单一的Google搜索,我了解到了这个命令:
sudo shutdown -h now
将从命令行关闭PI。现在我想把它变成一个我可以轻松运行的脚本文件。是否像将其粘贴到文本文件并将其另存为shell脚本一样简单?或者我错过了什么?
答案 0 :(得分:1)
你可以为它制作一个shell脚本,但通常情况下,这就是我们为alias
制作的东西。别名是常用命令的knicknames,它们通常位于主目录中的.bashrc
或.bash_profile
。
您为通常运行的所有命令声明别名。例如,如果您希望每次键入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
或:
. ~/.bashrc
之后,您的命令应该可以这样运行:
sudo turnoff
但是,我们在这里没有为键击节省太多,如果你想重新启动而不是停止,或者你想在几分钟内关闭(例如,在它完成更新之后),该怎么办?
或者,由于您询问了shell脚本,您可以创建一个shell脚本,但是当您创建shell脚本时,通常需要执行以下操作:
#!/bin/bash
(这告诉你的shell将用于运行脚本),chmod u+x
您的脚本使其可执行,您也可以查找常见的.bashrc文件,这样您就可以看到人们经常为其制作别名的东西(这是我们在自定义命令行环境时通常会做的第一件事)。
例如,我仍然将rm
设为rm -i
,只要我告诉它删除某些内容,我就会问我rm -f
如果我真的确定我想要摆脱一些东西。这里可能有很多人会认为这很傻,但我过去懒得删掉很多东西,所以我不介意保护。