美文网首页
用cat读取文件遇到warning: command subst

用cat读取文件遇到warning: command subst

作者: 苍蝇的梦 | 来源:发表于2019-11-15 09:16 被阅读0次

    2019-11-14 遇到的一点小问题
    今天需要获取树莓派的版本提供给前端,网上搜到两个方法cat /proc/cpuinfocat /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#####
    

    相关文章

      网友评论

          本文标题:用cat读取文件遇到warning: command subst

          本文链接:https://www.haomeiwen.com/subject/mcilictx.html