Bash 11-13

来源:互联网 发布:无印良品水乳 知乎 编辑:程序博客网 时间:2024/06/07 20:19

Lesson 11: Correcting Laptop Insomnia
cat /proc/acpi/button/lid/LID/state #会返回电脑是否开着的信息
cat /sys/class/power_supply/AC/online #返回电脑电源或电池是否插着
——————————————————————————————————
#!/bin/bash

grep -q closed /proc/acpi/button/lid/LID/state
#-q (quite,只检查,不做任何事),检查state文件里面有没有“closed“
if [ $? = 0 ] #检查之前一条代码的输出是true
then
## The laptop lid is closed, let’s find out if it’s plugged in.
grep -q 0 /sys/class/power_supply/AC/online
if [ $? = 0 ]
then
## The laptop is not plugged in. It should be asleep.
pm -syspend
fi
end

=======================================
Lesson 12: Filesystem Locations For Bash Script(把代码保存在哪?)

  • pwd #present working directory目前工作目录
  • echo $PATH #运行脚本的时候会自动查找的path,如果脚本在这些path下,在任何工作目录下都可以运行它们
  • #/usr/local/bin(for everybody)和/usr/local/sbin(only for root)可以用来存储代码,存在这两个文件里面的代码,在任何目录下都可运行
    ——————————————————————————————————
  • 可以在home directory建立文件夹bin,并将其加入echo $PATH自动查找path
  • nano ~/.bash_profile
    PATH=$PATH:$HOME/bin
    export PATH
    ^o #保存文件
    —————————————————————————————————–
  • sudo cp whiletest /usr/local/bin #将文件copy到某处,由于要从home copy的话,必须用sudo
  • ./ #在当前目录下运行某代码

=========================================
Lesson 13:The case statement
nano turtles
#!/bin/bash
echo “What is your favorite Ninja Turtle?”
echo “1 - Raphael.”
echo “2 - Leonardo.”
echo “3 - Michelangelo”
echo “4 - Donatello.”
read turtle;
case $turtle in
1) echo “Raphael is cool, but rude.”;; # ‘)’和’;;’是固定格式
2) echo “Leonardo leads.”;;
3) echo “Michelangelo is a party dude.”;;
4) echo “Donatello does machines.”;;
*) echo “Did you even watch the show?”
esac

chmod +x turtles

0 0
原创粉丝点击