精通测试技术,linux,shell,性能测试
全部博文(246)
分类: Python/Ruby
2012-06-05 22:41:57
1. TCL中命令的赋值分为置换和赋值两个步骤
2. 续行符为 \
3. 转义符同为 \
4. 特殊字符列表:
序号 |
字符 |
输出 |
十六进制 |
1 |
\a |
响铃 |
\x07 |
2 |
\b |
回车 |
\x08 |
3 |
\f |
清屏 |
\x0c |
4 |
\n |
换行 |
\x0a |
5 |
\r |
回车 |
\x0d |
6 |
\t |
制表符 |
\x09 |
7 |
\v |
垂直制表符(Vertical Tab) |
\x0b |
8 |
\ddd |
八进制值 |
d=0-7 |
9 |
\xhh |
十六进制值 |
h=0-9,A-F,a-f |
最外层是 {} 则不会进行置换操作,但其中的续行符仍然有效
puts "$Z_LABEL $Z" ;# 显示The Capitol of New York is: Albany
puts {$Z_LABEL $Z} ;# 显示 $Z_LABEL $Z,没有进行置换,大花括号中不会置换
puts {Who said, "What this country needs is a good $Z cigar!"?} ;#最外层是花括号,所以没有进行置换
puts {There are no substitutions done within braces \n \r \x0a \f \v} ;#
puts {But, the escaped newline at the end of a\
string is still evaluated as a space} ;#续行符仍然生效
1. [ ] 可以传递其中的命令结果,注意不能被 {} 包含;
2. 双引号包含的 [ ] 中的命令可以正常执行,命令结果也可以传出;
3. {} 包含的 [ ] 中的命令不会执行,更不会有命令结果传出来。
set x "abc"
puts "A simple substitution: $x\n" ;#显示abc
set y [set x "def"] ;#先执行[]中的命令,将”def”赋值给x,然后将该命令的结果赋值给y
puts "Remember that set returns the new value of the variable: X: $x Y: $y\n" ;#显示x和y都是def
set z {[set x "This is a string within quotes within braces"]} ;#由于在{}中,所以并没有执行对x的赋值,只是将{}赋值给z
puts "Note the curly braces: $z\n"
set a "[set x {This is a string within braces within quotes}]" ;#执行了对x的赋值操作,并将值传出来赋给了a
puts "See how the set is executed: $a"
puts "\$x is: $x\n"
set b "\[set y {This is a string within braces within quotes}]" ;#赋一个字符串用大花括号
puts "Note the \\ escapes the bracket:\n \$b is: $b"
puts "\$y is: $y"