2019-11-14 遇到的一点小问题
今天需要获取树莓派的版本提供给前端,网上搜到两个方法cat /proc/cpuinfo
和cat /proc/device-tree/model
。
[root@archlinux ~]# cat /proc/cpuinfo
processor : 0
model name : ARMv7 Processor rev 4 (v7l)
BogoMIPS : 38.40
Features : half thumb fastmult vfp edsp neon vfpv3 tls vfpv4 idiva idivt vfpd32 lpae evtstrm crc32
CPU implementer : 0x41
CPU architecture: 7
CPU variant : 0x0
CPU part : 0xd03
CPU revision : 4
processor : 1
model name : ARMv7 Processor rev 4 (v7l)
BogoMIPS : 38.40
Features : half thumb fastmult vfp edsp neon vfpv3 tls vfpv4 idiva idivt vfpd32 lpae evtstrm crc32
CPU implementer : 0x41
CPU architecture: 7
CPU variant : 0x0
CPU part : 0xd03
CPU revision : 4
processor : 2
model name : ARMv7 Processor rev 4 (v7l)
BogoMIPS : 38.40
Features : half thumb fastmult vfp edsp neon vfpv3 tls vfpv4 idiva idivt vfpd32 lpae evtstrm crc32
CPU implementer : 0x41
CPU architecture: 7
CPU variant : 0x0
CPU part : 0xd03
CPU revision : 4
processor : 3
model name : ARMv7 Processor rev 4 (v7l)
BogoMIPS : 38.40
Features : half thumb fastmult vfp edsp neon vfpv3 tls vfpv4 idiva idivt vfpd32 lpae evtstrm crc32
CPU implementer : 0x41
CPU architecture: 7
CPU variant : 0x0
CPU part : 0xd03
CPU revision : 4
Hardware : BCM2835
Revision : a22082
Serial : 00000000ce5a251a
Model : Raspberry Pi 3 Model B Rev 1.2
[root@archlinux ~]# ^C
[root@archlinux ~]# ^C
[root@archlinux ~]# ^C
[root@archlinux ~]# cat /proc/device-tree/model
Raspberry Pi 3 Model B Rev 1.2[root@archlinux ~]# ^C
[root@archlinux ~]# ^C
第一个方法获取的参数太多了,所以使用第二个。但是当我用变量来接收输出时,出现一句警告提示:-bash: warning: command substitution: ignored null byte in input
。
[root@archlinux ~]# model=`cat /proc/device-tree/model`
-bash: warning: command substitution: ignored null byte in input
[root@archlinux ~]# echo $model
Raspberry Pi 3 Model B Rev 1.2
看了下/proc/device-tree/model文件,顺便查了下格式。
[root@archlinux ~]# file /proc/device-tree/model
/proc/device-tree/model: ASCII text, with no line terminators
/proc/device-tree/model
网上搜了下,没找到解决办法。只能再翻翻cat的manpages看看,不过信息太少了,看不出什么,只能挨个试试。
没想到试到
cat -v
竟然可以。贴一下:
name=$(cat -v /proc/device-tree/model | sed 's/ Model //g' | sed 's/ Plus/+/g')
echo "${name}"
####输出内容#####Raspberry Pi 4B Rev 1.1^@#####
echo "${name%% Rev*}"
####输出内容#####Raspberry Pi 4B#####
网友评论