LinuxSir.cn,穿越时空的Linuxsir!

 找回密码
 注册
搜索
热搜: shell linux mysql
查看: 1058|回复: 14

请教一个编辑器高亮显示的问题[基本解决]

[复制链接]
发表于 2004-6-9 09:19:51 | 显示全部楼层 |阅读模式
实现在emacs等编辑器里高亮显示某几行,?

比如说知道文件名(file.c)和行号(12)...然后把file.c 的12行 显示与其他行不一样.

shell可以实现吗?
谢谢
发表于 2004-6-9 13:12:20 | 显示全部楼层
  1. #!/bin/bash
  2. #
  3. # $Date: 2004/06/09 05:11:20 $
  4. # $Source: /cvsroot/bin/highlight.sh,v $
  5. # $Revision: 1.1 $
  6. #

  7. if [ $# -ne 2 ]; then
  8.         echo "usage:"
  9.         echo "  $(basename $0) <file> <lineno>"
  10.         exit 1
  11. fi

  12. declare -i lineno
  13. file=$1
  14. lineno=$2

  15. if [ ! -e "$file" ]; then
  16.         echo "error: \`$file' not found"
  17.         exit 1
  18. fi

  19. if ((lineno <= 0)); then
  20.         echo "error: invalid line number \`$2'"
  21.         exit 1
  22. fi

  23. n=0
  24. while read line; do
  25.         ((n++))
  26.         if ((n == lineno)); then
  27.                 echo -ne '\033[1;31m'
  28.         fi
  29.         echo "$line"
  30.         if ((n == lineno)); then
  31.                 echo -ne '\033[m'
  32.         fi
  33. done < "$file"
复制代码
发表于 2004-6-9 13:15:47 | 显示全部楼层
效果图:
 楼主| 发表于 2004-6-9 15:59:50 | 显示全部楼层

dearvoid

我是要在emacs或者vi里高亮显示某几行,
你这个只是在控制台显示吧.
发表于 2004-6-9 16:04:53 | 显示全部楼层
那就与 shell 没有什么关系了:p
 楼主| 发表于 2004-6-9 16:11:58 | 显示全部楼层

哦,谢谢

还有一个问题,
我不能执行这个教本,  
出错信息:bad interpreter ,没有那个文件或文件夹


就连下面的教本都不可以.??????
#!/bin/sh
date ;
ls ;
发表于 2004-6-9 16:22:35 | 显示全部楼层
用 file 看一下你的脚本, 是不是 DOS 格式的 ?
 楼主| 发表于 2004-6-9 16:47:13 | 显示全部楼层

文件格式是对的

我用 ls -l /bin/bash  /bin/sh
这两个都在
发表于 2004-6-9 16:52:59 | 显示全部楼层
用 hexdump 看看你的文件, 把结果贴出来
我怀疑你的文件是 DOS 格式的, 是不是在 Windows 中编辑的 ?
发表于 2004-6-9 16:52:59 | 显示全部楼层
1,换/bin/bash试试看?
2,你是怎么执行的?
ps:dearviod兄说的对,也许脚本里有特殊字符,用cat -A file看看是不是有什么特别字符
您需要登录后才可以回帖 登录 | 注册

本版积分规则

快速回复 返回顶部 返回列表