加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 服务器 > 安全 > 正文

bash – vim red highlight $()

发布时间:2020-12-16 01:16:15 所属栏目:安全 来源:网络整理
导读:当我决定将函数移动到lib文件时,我正在编写脚本,但是当我打开lib文件时,所有$(和连续的)都是红色突出显示的,这里有一些脚本示例 TAB="$(printf 't')"percent=$(echo "scale=2; $number/$total*100" | bc | sed -e 's/.[[:digit:]]*//g')if [[ -z $(grep $s
当我决定将函数移动到lib文件时,我正在编写脚本,但是当我打开lib文件时,所有$(和连续的)都是红色突出显示的,这里有一些脚本示例
TAB="$(printf 't')"
percent=$(echo "scale=2; $number/$total*100" | bc | sed -e 's/.[[:digit:]]*//g')
if [[ -z $(grep $site/post $max_lim) ]];then

文件类型是conf,但我在.vimrc中将其设置为sh语法

知道发生了什么?

谢谢

编辑:感谢您的快速解答,我发现这行使得vim与*后面指定的扩展名的文件匹配,语法为sh

au BufReadPost * set syntax=sh

我也认为不允许在库中使用shebang,但这是一个很好的解决方案

无论如何在.vimrc中使用g:is_bash会返回找不到模式的错误

所以我想做的是因为我只用bash写,vim识别任何没有扩展名的文件作为bash

sh的语法文件实际上处理了几种不同的shell语法:bash,ksh和plain old sh.由于您的conf文件未被识别为bash或ksh,因此它会回退到sh. $(…)不是sh中的有效构造,因此它会突出显示为错误.

要解决此问题,您可以确保为文件设置了“g:is_bash”,以便sh语法脚本知道您的文件应该突出显示为bash代码.请编辑您的问题以包含您添加到.vimrc中的内容,以使文件使用sh语法突出显示.这样可以更容易地建议设置“g:is_bash”的正确方法.

更新:正如Alok评论的那样,您应该能够将以下内容添加到文件中

#!/bin/bash

让vim知道正确的语法高亮使用.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读