[shell]简单的shell提示和参数脚本

news/2024/7/3 16:36:18

 该shell脚本有如下点:

  • bash or dash
  • case语句的写法
  • 脚本help写法
  • 参数是否为空的写法
  • 算数运算的写法
#! /bin/bash
case "$1" in-h|--help|?)echo "Usage: 1st arg:pin name, 2st arg:reset time"echo "1st arg pin name:lte-reset,zigbee-reset"echo "2st arg reset time in ms"exit 0 
;;
esacif [ ! -n "$1" ]; thenecho "pls input 1st arg"exit
fiif [ ! -n "$2" ]; thenecho "pls input 2st arg"exit
fiecho 0 > /home/gpio/$1
time=$[ $2 * 1000 ] 
echo $time > /home/gpio/$1echo "you reset $1 with $2ms"

 

下面的脚本:

  • 多条case分支
  • 字符串比较
#! /bin/bashUSRPWM_DIR="/home/pwm"case "$1" in-h|--help|?)echo "Usage1:1st arg:disable, enable"echo "Usage2:1st arg:period in us, 2st arg duty in us"exit
;;enable|disable)if [ "$1" == "enable" ] ; thenecho "enable power charge"echo 1 > $USRPWM_DIR/power-charge/enableexitelseecho "disable power charge"echo 0 > $USRPWM_DIR/power-charge/enableexitfi 
;;
esacif [ ! -n "$1" ] ; thenecho "pls input 1st arg: period with us"exit
fi
if [ ! -n "$2" ] ; thenecho "pls input 2st arg: duty with us"exit
fiarg1=$[ $1 * 1000 ]
arg2=$[ $2 * 1000 ]echo $arg1 > $USRPWM_DIR/power-charge/period
echo $arg2 > $USRPWM_DIR/power-charge/duty_cycle
echo 1 > $USRPWM_DIR/power-charge/enable

 


http://lihuaxi.xjx100.cn/news/242036.html

相关文章

多线程

世界上本没有多线程,cpu故意在各个线程中跳转,就假装有了多线程 测试的时候语句少的一下被执行完,要增加多点语句才能测试出来恰恰说明了这个原理 线程的实现由两种方法 1)继承Thread,然后重写run方法,&…

Oracle可变数组实例说明

创建类型comm_info CREATE TYPE comm_info AS OBJECT ( /*此类型为通讯方式的集合*/ no number(3), /*通讯类型号*/ comm_type varchar2(20), /*通讯类型*/ comm_no varchar2(30)); /*号码*/ 创建可变数组comm_info_list CREATE TYPE comm_info_list AS VARRAY(50) OF com…

java培训面试技巧分享

很多人在学会java技术之后,就开始筹备自己的面试了,java技术在互联网行业的需求是很大的,所以内卷是很严重的,在面试环节一定要全力以赴才行,下面小编就教大家一些java培训面试技巧,希望能帮助到大家。 jav…

每天一命令 git checkout

检出 checkout 是git常用命令之一.主要用于创建切换分支,覆盖本地修改等 git checkout  用于显示工作区,暂存区,版本库中文件的区别 git checkout -b branch 用于创建一个新的分支, git checkout branch  用于检出一个分支 git checkout [commit] --filename   用暂存…

白盒测试的5种逻辑覆盖法

文章目录判定覆盖法 Decision Coverage (DC)条件覆盖 Condition Coverage (CC)判定-条件覆盖 Condition-Decision Coverage条件组合覆盖 Multiple Condition Coverage (MCC)修正的条件/判定覆盖 Modified Condition/Decision Coverage (MC/DC)5种覆盖的关系判定覆盖法 Decision…

c++复习笔记

1、堆和栈的区别与联系 1、栈区由编译器自动分配内存释放;堆区一般由程序员手动分配释放,若不释放,结束时可能由OS回收 2、堆的分配可能会有碎片,栈不会有这个问题 3、堆都是动态分配的,栈有动态和静态两种分…

零基础参加java培训主要学什么

互联网行业永远是一个需求非常大的行业,尤其是技术人员岗位,java技术岗一直很受大家的关注,不少学员都是零基础开始学,那么零基础参加java培训主要学什么呢?来看看下面的详细介绍。 零基础参加java培训主要学什么?其实无论学什么…

为什么vue.js一眼看上去很美?

对其他框架我是佩服,对vue.js我则是爱。我就是一眼看上了vue.js,于是用它做各种东西,反反复复多次,然后觉得有些融会贯通,然后,我稍微细的思量了下,到底vue.js靓丽在哪? 还是上案例对比说明。这…