查看: 2269|回复: 2

[原创] 【FirePrime】sh脚本控制 LED操作

[复制链接]
  • TA的每日心情
    开心
    2018-6-10 20:29
  • 签到天数: 711 天

    连续签到: 1 天

    [LV.9]以坛为家II

    发表于 2015-11-8 11:36:54 | 显示全部楼层 |阅读模式
    分享到:
    本帖最后由 IC爬虫 于 2015-11-8 18:27 编辑

    好久没发帖了,拿了板子这样说不过去

    前面已经试了使用echo直接操作LED的方法,但是这个还是有点不缺陷,比如我需要做闪灯的控制要怎么弄呢?
    linux自带的shell非常的强大,负责了直接和系统内核沟通的桥梁的角色,可以利用 Shell脚本编程,完成更加复杂的操作。

    在用户的目录下使用vi 编辑一个sh文件:
    1. vi test.sh
    复制代码
    编辑程序:
    1. #!/bin/sh

    2. for((i=0;i<1000;i++))
    3. echo default-on >/sys/class/leds/firefly:yellow:user/trigger
    4. sleep 0.5s
    5. echo none >/sys/class/leds/firefly:yellow:user/trigge
    6. sleep 0.5s

    7. echo none >/sys/class/leds/firefly:blue:power/trigger
    8. sleep 0.1s
    9. echo default-on >/sys/class/leds/firefly:blue:power/trigger
    10. sleep 0.1s
    复制代码
           QQ截图20151108112555.png

          首行中的符号#!告诉系统其后路径所指定的程序即是解释此脚本文件的Shell程 序。如果首行没有这句话,在执行脚本文件的时候,将会出现错误。后续的部分就是主程序,Shell脚本像高级语言一样,也有变量赋值,也有控制语句。 除第 一行外,以#开头的行就是注释行,直到此行的结束。如果一行未完成,可以在行尾加上",这个符号表明下一行与此行会合并为同一行。编辑完毕,将脚本存盘为test.sh,文件名后缀sh表明这是一个Bash脚本文件。执行脚本的时候,要先将脚本文件的属性改为可执行的:
    1. chmod +x test.sh
    复制代码
    执行脚本的方法是:
    1. ./test.sh
    复制代码
    我使用的是官方自带双系统里面的Ubuntu系统,在执行./test.sh会出现以下的错误提示:
    QQ截图20151108113231.png
    syntax error: Bad for loop variable提示for 循环的语法错误,查了一下,系统启动问题。代码对于标准bash而言没有错,因为Ubuntu为了加快开机速度,用dash代替了传统的bash,是dash在捣鬼。解决方法是 取消dash,执行:
    1. sudo dpkg-reconfigure dash
    复制代码
    在选择项中选No,即可。
    QQ截图20151108113517.png

    再执行:
    1. ./test.sh
    复制代码
    效果如下
    2015_11_08_11_17_59.gif
    回复

    使用道具 举报

  • TA的每日心情
    慵懒
    2013-1-22 10:13
  • 签到天数: 3 天

    连续签到: 1 天

    [LV.2]偶尔看看I

    发表于 2015-11-9 08:59:56 | 显示全部楼层
    好好学习
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    开心
    2020-11-23 14:54
  • 签到天数: 19 天

    连续签到: 1 天

    [LV.4]偶尔看看III

    发表于 2015-11-11 09:37:03 | 显示全部楼层
    哇喔喔,好牛逼呢
    回复 支持 反对

    使用道具 举报

    您需要登录后才可以回帖 注册/登录

    本版积分规则

    关闭

    站长推荐上一条 /3 下一条



    手机版|小黑屋|与非网

    GMT+8, 2025-1-12 08:04 , Processed in 0.141318 second(s), 21 queries , MemCache On.

    ICP经营许可证 苏B2-20140176  苏ICP备14012660号-2   苏州灵动帧格网络科技有限公司 版权所有.

    苏公网安备 32059002001037号

    Powered by Discuz! X3.4

    Copyright © 2001-2024, Tencent Cloud.