Shell编程之实现一个BACnet设备的多种属性
来源:互联网 发布:linux ftp修改访问目录 编辑:程序博客网 时间:2024/06/06 06:46
#!/bin/bash
PROG=`basename $0`
OPTIONAL=0
usage()
{
echo "usage: $PROG [OPTIONS] <<BACnetID>> [ <<BACnetID>> ... ]
Will return Required and Optional property values
from the requested device.
-o Display optional properties [default behavior]
-O Supress display of optional properties
-h Display this help
"
}
//获取命令行参数选项
while getopts ":oOh" opt; do
case $opt in
o ) OPTIONAL=1
;;
O ) OPTIONAL=0
;;
h ) usage
exit 1
;;
\? ) usage
exit 1
esac
done
shift $(($OPTIND -1))
//出错处理
if [ $# -eq 0 ] || [ "$1" = "" ] ; then
usage
exit
fi
run_test()
{
echo -e -e "Test: Read Required Properties of Device Object $1\r"
echo -n "OBJECT IDENTIFIER:"
./bacrp $1 8 $1 75
echo -n "OBJECT NAME:"
./bacrp $1 8 $1 77
echo -n "OBJECT TYPE:"
./bacrp $1 8 $1 79
echo -n "SYSTEM STATUS:"
./bacrp $1 8 $1 112
echo -n "VENDOR NAME:"
./bacrp $1 8 $1 121
echo -n "VENDOR IDENTIFIER:"
./bacrp $1 8 $1 120
echo -n "MODEL NAME:"
./bacrp $1 8 $1 70
echo -n "FIRMWARE REVISION:"
./bacrp $1 8 $1 44
echo -n "APPLICATION SOFTWARE VERSION:"
./bacrp $1 8 $1 12
echo -n "PROTOCOL VERSION:"
./bacrp $1 8 $1 98
echo -n "PROTOCOL REVISION:"
./bacrp $1 8 $1 139
echo -n "PROTOCOL SERVICES SUPPORTED:"
./bacrp $1 8 $1 97
echo -n "OBJECT TYPES SUPPORTED:"
./bacrp $1 8 $1 96
echo -n "OBJECT LIST LENGTH:"
./bacrp $1 8 $1 76 0
echo -n "OBJECT LIST:"
./bacrp $1 8 $1 76
echo -n "MAX APDU LENGTH ACCEPTED:"
./bacrp $1 8 $1 62
echo -n "SEGMENTATION SUPPORTED:"
./bacrp $1 8 $1 107
echo -n "APDU TIMEOUT:"
./bacrp $1 8 $1 11
echo -n "NUMGER OF APDU ENTRIES:"
./bacrp $1 8 $1 73
echo -n "DEVICE ADDRESS BINDING:"
./bacrp $1 8 $1 30
echo -n "DATABASE REVISION:"
./bacrp $1 8 $1 155
if [ $OPTIONAL -eq 1 ] ; then
echo -e "Test: Read Optional Properties of Device Object $1\r"
echo -n "LOCATION:"
./bacrp $1 8 $1 58
echo -n "DESCRIPTION:"
./bacrp $1 8 $1 28
echo -n "MAX SEGMENTS SUPPORTED:"
./bacrp $1 8 $1 167
echo -n "VT CLASSES SUPPORTED:"
./bacrp $1 8 $1 122
echo -n "ACTIVE VT SESSIONS:"
./bacrp $1 8 $1 5
echo -n "LOCAL TIME:"
./bacrp $1 8 $1 57
echo -n "LOCAL DATE:"
./bacrp $1 8 $1 56
echo -n "UTC OFFSET:"
./bacrp $1 8 $1 119
echo -n "DAYLIGHT SAVINGS STATUS:"
./bacrp $1 8 $1 24
echo -n "APDU SEGMENT TIMEOUT:"
./bacrp $1 8 $1 10
echo -n "LIST OF SESSION KEYS:"
./bacrp $1 8 $1 55
echo -n "TIME SYNCHRONIZATION RECIPIENTS:"
./bacrp $1 8 $1 116
echo -n "MAX MASTER:"
./bacrp $1 8 $1 64
echo -n "MAX INFO FRAMES:"
./bacrp $1 8 $1 63
echo -n "ACK REQUIRED:"
./bacrp $1 8 $1 1
echo -n "CONFIGURATION FILES:"
./bacrp $1 8 $1 154
echo -n "LAST RESTORE TIME:"
./bacrp $1 8 $1 157
echo -n "BACKUP FAILURE TIMEOUT:"
./bacrp $1 8 $1 153
echo -n "ACTIVE COV SUBSCRIPTIONS:"
./bacrp $1 8 $1 152
echo -n "SLAVE PROXY ENABLE:"
./bacrp $1 8 $1 172
echo -n "MANUAL SLAVE ADDRESS BINDING:"
./bacrp $1 8 $1 170
echo -n "AUTO SLAVE DISCOVERY:"
./bacrp $1 8 $1 169
echo -n "SLAVE ADDRESS BINDING:"
./bacrp $1 8 $1 171
echo -n "PROFILE NAME:"
./bacrp $1 8 $1 168
fi
echo -e " \r"
}
while [ $# -gt 0 ] ; do
ID=$(( $1 + 0 ))
shift
if [ $ID -eq 0 ] ; then
echo "ERROR: Device ID must be an integer!! [ID=$ID]" >&2
fi
run_test $ID
done
- Shell编程之实现一个BACnet设备的多种属性
- Linux编程实现一个简单的Shell
- BACNET之VTS的配置过程
- DDK编程之---Windows设备的具体属性
- BACnet协议栈中一个Ringbuff编程范例
- C#编程之自动实现的属性
- 熟悉多种编程语言的一个好处
- 多种数制显示的汇编语言编程实现
- 一个简易TCP服务器的多种实现
- linux c之sleep的多种实现
- 一个java 验证码的实现提供多种的实现
- 如何成为一个通晓多种编程语言的程序员
- 实现一个简单的shell
- 利用linux下的c语言编程来简单的实现一个shell功能实现!
- UNIX编程(一) C语言实现一个模仿bash的shell实现
- shell 编程之 $() $(()) ${} 的区别
- CORBA中典型的的一个问题多种实现方法
- 挑战面试编程:链表逆转的多种实现
- utuntu 主题颜色设置
- QT:子窗口嵌入到父窗口,子窗口跟随父窗口 qdialog,qwidget
- 内网IP建ftp服务器的完全攻略
- linux kernel学习笔记(一)
- PostThreadMessage 例子
- Shell编程之实现一个BACnet设备的多种属性
- japplet到javacsript的 发展
- Mac 下ADT开启后显示 Could not open Selected VM debug port (8700)
- linux中压缩和解压缩的命令以及使用方法
- SSL
- 最靠谱的禁止ViewPager滑动方法
- android的从服务器取得json对象进行解析
- Tomcat SSL配置大全
- 关于jQuery UI 使用心得及技巧