分页: 1 / 1

多行注释的问题

发表于 : 2012-09-21 17:50
renxinzhi
很多搜索结果基本都给了相同的方法,以http://blog.chinaunix.net/uid-291731-id-3019021.html为例
1、最简单方法
:<<BLOCK
....注释内容
BLOCK

把输入重定义到前面的命令,但是 : 是空命令,所以就相当于注释了。
如果注释中有反引号的命令就会报错,反引号部分不会被注释掉,例如 var=`ls -l` 就不会被注释掉。

2、解决注释中有反引号的问题
A、方法一
:<<BLOCK'
....注释内容
'BLOCK

B、方法二
:<<'BLOCK
....注释内容
BLOCK'

C、方法三
:<<'
....注释内容
'
我的脚本

代码: 全选

#!/bin/bash
:<<COMMENT'
#+++++++++++++++++++++++Cartesian to Direct++++++++++++++++++++++++++++++++++++
x=`cat tmp | head -3 | tail -1 | awk '{printf "%.8f",$1}'`
y=`cat tmp | head -3 | tail -1 | awk '{printf "%.8f",$2}'`
z=`cat tmp | head -3 | tail -1 | awk '{printf "%.8f",$3}'`
a=$(echo "scale=8;($x**$x + $y**$y + $z**$z)**0.5"|bc)
x=`cat tmp | head -4 | tail -1 | awk '{printf "%.8f",$1}'`
y=`cat tmp | head -4 | tail -1 | awk '{printf "%.8f",$2}'`
z=`cat tmp | head -4 | tail -1 | awk '{printf "%.8f",$3}'`
b=$(echo "scale=8;($x**$x + $y**$y + $z**$z)**0.5"|bc)
x=`cat tmp | head -5 | tail -1 | awk '{printf "%.8f",$1}'`
y=`cat tmp | head -5 | tail -1 | awk '{printf "%.8f",$2}'`
z=`cat tmp | head -5 | tail -1 | awk '{printf "%.8f",$3}'`
c=$(echo "scale=8;($x**$x + $y**$y + $z**$z)**0.5"|bc)
echo "$a    $b   $c"
'COMMNET

代码: 全选

./g2v: 行 17: 警告: 立即文档在第 17 行被文件结束符分隔 (需要 `COMMENT
#+++++++++++++++++++++++Cartesian to Direct++++++++++++++++++++++++++++++++++++
x=`cat tmp | head -3 | tail -1 | awk {printf')
我只好使用if语句来注释了

Re: 多行注释的问题

发表于 : 2012-09-21 17:53
枫叶饭团
在每行前面加个#又不麻烦,何必去增加运算?

Re: 多行注释的问题

发表于 : 2012-09-21 18:00
renxinzhi
枫叶饭团 写了:在每行前面加个#又不麻烦,何必去增加运算?
我这次需要注释的行数还是比较少的,一行一行加#可不是不麻烦。

Re: 多行注释的问题

发表于 : 2012-09-21 18:03
lilydjwg
renxinzhi 写了:
枫叶饭团 写了:在每行前面加个#又不麻烦,何必去增加运算?
我这次需要注释的行数还是比较少的,一行一行加#可不是不麻烦。
只要是连续的都不麻烦的啊。

Re: 多行注释的问题

发表于 : 2012-09-21 18:11
renxinzhi
lilydjwg 写了:
renxinzhi 写了:
枫叶饭团 写了:在每行前面加个#又不麻烦,何必去增加运算?
我这次需要注释的行数还是比较少的,一行一行加#可不是不麻烦。
只要是连续的都不麻烦的啊。
如此说来,还是备份后删除需要注释的最容易了

Re: 多行注释的问题

发表于 : 2012-09-21 18:14
枫叶饭团
难道lz你不是用vim/emacs之类的写shell?如果不是,那当我没说。。。

Re: 多行注释的问题

发表于 : 2012-09-21 18:21
lilydjwg
renxinzhi 写了:
lilydjwg 写了:
renxinzhi 写了:
枫叶饭团 写了:在每行前面加个#又不麻烦,何必去增加运算?
我这次需要注释的行数还是比较少的,一行一行加#可不是不麻烦。
只要是连续的都不麻烦的啊。
如此说来,还是备份后删除需要注释的最容易了
这么麻烦……………………………………………………