Chinaunix首页 | 论坛 | 博客
  • 博客访问: 1596990
  • 博文数量: 92
  • 博客积分: 2002
  • 博客等级: 大尉
  • 技术积分: 4717
  • 用 户 组: 普通用户
  • 注册时间: 2010-09-01 17:09
文章分类

全部博文(92)

文章存档

2013年(1)

2012年(6)

2011年(85)

分类: LINUX

2011-11-22 21:02:08

把shell多行注释掉,有如下方法:

第一种:基于Here Documents和:实现

如果被注释的内容中有反引号会报错
  1. :<<BLOCK
  2. ....被注释的多行内容
  3. BLOCK

解决注释中有反引号的问题
  1. :<< 'BLOCK
  2. ....被注释的多行内容
  3. BLOCK'
或者干脆只留单引号
  1. :<< '
  2. ....被注释的多行内容
  3. '

第二种:当注释内容中有括号时报语法错误错,但里面有反引号,引号时没有问题
  1. :||{
  2. ....被注释的多行内容
  3. }

第三种:会对注释内容中的括号引号等语法错误报错
  1. if false ; then
  2.  ....被注释的多行内容
  3.  fi


---------------------------------- 华丽的分割线 -------------------------------------


here 文档与重定向输入

    here 文档 为需要输入数据的程序(如 mail sor 或cat) 接收内置文本,
直至用户自定义的休止符。

$ cat << FINISH
> Hello there $LOGNAME
> The time is `data`
> If you want to know who is god, type "echo \$LOGNAME"
> FINISH

here 文档常被shell脚本用来生成 菜单 或 被用来 多行注释



用 here 文档 和 case 命令生成菜单

# file ./profile

echo "select a terminal type: "
cat << ENTER
    1)    vt 120
    2)    wyse50
    3)    sun
ENTER

read choice

case "$choice" in
1)    TERM=vt120
    export TERM
    ;;
2)    TERM=wyse50
    export TERM
    ;;
3)    TERM=sun
    export TERM
    ;;
esac

echo "TERM is $TERM"
阅读(25115) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~