首页 > 其他分享 >screenfetch报错 /usr/bin/screenfetch: 行 1851: -: 语法错误:需要操作数(错误记号是 "-") 的一种解决方法

screenfetch报错 /usr/bin/screenfetch: 行 1851: -: 语法错误:需要操作数(错误记号是 "-") 的一种解决方法

时间:2023-04-10 20:48:08浏览次数:44  
标签:语法错误 mem free awk print 报错 screenfetch

在debian12(testing)上运行screenfetch报错,如下所示:

~$ screenfetch
/usr/bin/screenfetch: 行 1851: -: 语法错误:需要操作数(错误记号是 "-")
         _,met$$$$$gg.           ×××××@deb-test
      ,g$$$$$$$$$$$$$$$P.        OS: Debian 12 bookworm
    ,g$$P""       """Y$$.".      Kernel: x86_64 Linux 6.1.0-7-amd64
   ,$$P'              `$$$.      Uptime: 17m
  ',$$P       ,ggs.     `$$b:    Packages: 2065
  `d$$'     ,$P"'   .    $$$     Shell: bash
   $$P      d$'     ,    $$P     Resolution: 1920x1200
   $$:      $$.   -    ,d$$'     DE: KDE 5.103.0 / Plasma 5.27.2
   $$\;      Y$b._   _,d$P'      WM: KWin
   Y$$.    `.`"Y$$$$P"'          GTK Theme: Breeze [GTK2/3]
   `$$b      "-.__               Icon Theme: breeze
    `Y$$                         Disk: 501G / 1.1T (48%)
     `Y$$.                       CPU: AMD Ryzen 9 5950X 16-Core @ 32x 3.4GHz
       `$$b.                     GPU: VMware SVGA II Adapter
         `Y$$b.                  RAM: -
            `"Y$b._             
                `""""           
                                

根据提示打开/usr/bin/screenfetch这个脚本,可以看到报错位置的上下文是这样的:

		mem=$(free -b | awk -F ':' 'NR==2{print $2}' | awk '{print $1"-"$6}')
		usedmem=$((mem / 1024 / 1024))

运行free -b命令,可见正常输出:

               total        used        free      shared  buff/cache   available
内存:   16781590528  3409371136 11827744768   169746432  2212745216 13372219392
交换:    1023406080           0  1023406080

但是运行 free -b | awk -F ':' 'NR==2{print $2}' 就无输出了。
抓耳挠腮的想了一下,才发现在中文的debian系统上,free -b命令所输出内容中的冒号是中文字符,而screenfetch脚本中匹配处理的是英文字符。
进行如下丑陋的打补丁后,报错问题解决:

# 		这是一个丑陋的补丁,用以解决中文系统下的符号识别问题
# 		mem=$(free -b | awk -F ':' 'NR==2{print $2}' | awk '{print $1"-"$6}')
		mem=$(free -b | awk -F ':' 'NR==2{print $2}' | awk '{print $1"-"$6}')
		usedmem=$((mem / 1024 / 1024))

标签:语法错误,mem,free,awk,print,报错,screenfetch
From: https://www.cnblogs.com/songxi/p/17304225.html

相关文章

  • 执行redis-cli命令创建redis集群时报错“Could not connect to Redis at IP:端口: No
    问题描述:执行redis-cli命令创建redis集群时报错“CouldnotconnecttoRedisatIP:端口:Noroutetohost”,如下所示:数据库:redis6.2.6系统:rhel7.91、异常重现[root@leo-redis626-asrc]#/usr/local/src/redis-6.2.6/src/redis-cli--clustercreate--cluster-replicas1......
  • 第三十九章 Linux基础常见报错及解决
    一、登录centos提示abrt-clistatustimedout1.引言最近登录linux系统,登录的时候非常慢,而且有时候还连不上,提示abrt-clistatustimedout,Linux系统版本使用centos7.8.2.症状1、ssh连接经常失败。2、登录的时候非常卡。3、登录成功后,会出现一个提示“abrt-clistatustim......
  • Vue启用报错 RangeError: Invalid typed array length: -4095
    近期开发的前端项目项目启用失败,记录下修复过程RangeError:Invalidtypedarraylength:-4095 错误原因:node版本问题,安装10.x.x即可重新安装:1.将原来的nvm,node卸载2.安装nvm 如果显示上面内容即安装成功3.在nvm上安装一个版本的Node   命令:nvmls出现下图......
  • Docker容器执行su命令报错su: cannot open session: Permission denied 解决方法
    1、先检查su命令权限是否正确,执行如下命令ll/etc/pam.d/su如果现实如图,则说明权限方面没问题,若您的执行结果与我的不一样,需调整权限。[root@blog-tag-gg~]#ll/etc/pam.d/su-rw-r--r--1rootroot5402月32021/etc/pam.d/su2、执行如下命令将如下。将su文......
  • 禁用 DevTools 源映射功能, 隐藏 "DevTools failed to load SourceMap" 报错
    警告DevToolsfailedtoloadsourcemap:Couldnotloadcontentforchrome-extension://cofdbpoegempjloogbagkncekinflcnj/build/content.js.map:系统错误:net::ERR_BLOCKED_BY_CLIENT这个问题可能是因为浏览器的版本不同,所以设置的位置也会略有不同。以下是几个常见浏......
  • Java开发:服务器上配置jdk环境变量后java命令正常但javac报错问题
    一、问题如下:在服务器上配置jdk环境变量时,java命令运行正常,javac报错如下:ErroroccurredduringinitializationofVM;java/lang/NoClassDefFoundError:java/lang/Object.没有找到基础类库,可以确定是缺少一些东西。查询资料发现,是jdk安装目录下缺少文件:jd......
  • Abnormal build process termination--解决IDEA启动web项目报错
    在projectstructure中,把sdk中的jdk重新添加,却发现选择了正确的jdk目录却提示不是正确的jdk路径。于是,我重新安装了jdk。在idea中又重新引了jdk。这个问题就解决了。所以有时候当你一直运行正确的时候,突然发现有问题了。可能就是近期修改的东西导致的。基本就是jdk的问题  把......
  • 前端报错时如何排查问题
    前端页面报错: 1、页面报错500,首先我们可以知道是服务端的问题,需要去看下服务端的报错信息:2、首先我们查看下前端是否给后端传了id: 我们可以看到接口是把ID返回了,就需要再看下p_id是什么情况了 3、我们再次请求,把p_id进行打印,看下具体是什么:put接口代码classPutV......
  • ruoyi-cloud微服务版启动过程报错_20230320版_ Verion 9 of Highlight.js has reached
      Verion9ofHighlight.jshasreachedEOL. Itwillnolonger报错: 这里修改成10.7.3版本D:\2023\qdBigData\RuoYi-Cloud-master\ruoyi-ui>npminstall--registry=https://registry.npm.taobao.org然后到对应目录,再去执行编译去看看.不报错了 >npmrundev然后执行看......
  • [从0开始]PHP+phpstudy留言板项目搭建教程及报错详析
    [从0开始]PHP+phpstudy留言板项目搭建教程及报错详析基础知识及工具准备基础知识:四种语言PHPPHP是在服务器端执行的脚本语言,适用于Web开发并可嵌入HTML中。学习网站:PHP教程|菜鸟教程SQLSQL是一种数据库查询和程序设计语言,用于存取数据以及查询、更新和管理关系数据库系统......