tcl - 为什么文件名没有正确呈现
问题描述
我需要将程序的输出重定向到一个文件,下面是我用来创建输出日志文件名的代码:
set filename "C:\tools\tcl\bin\my.log"
puts "The log file $filename"
但这打印:
The log file C: ools cinmy.log
注意我也可以接收文件名作为脚本的参数:
set logfile [lindex $argv 1]
当接收日志文件作为 arg 和常量时,如何解决这两种情况的问题?
解决方案
Tcl
将进行反斜杠替换,并且这些替换只会在双引号中发生。如果您需要文字反斜杠,则必须对其进行转义。当用大括号括起来时,这些替换将不会发生。
因此,您可以将变量定义为
set filename "C:\\tools\\tcl\\bin\\my.log"
或者
set filename {C:\tools\tcl\bin\my.log}
关于命令行参数的东西,不要打扰。Tcl
会照顾它。它将按原样从您的终端接收。
推荐阅读
- opengl - OpenGL如何连接它传递给的顶点
- python - 如何在 Mac 上的现有源代码仓库上运行 tox?
- java - 如何在 Android 中构建 APK?
- swift - Xcode:当我将我的应用程序加载到模拟器或设备上时,tableViewCells 中没有出现任何内容
- c - 如何将字符串发送到服务器并回显?
- r - 跨多个计划选项计算计划冲突R
- mysql - 根据mysql查询对数组字段进行排序
- angular - 当 bsdatepicker 已更改值时如何更改值
- javascript - 如何按键名迭代数组,如果键为空,请将它们包含在循环 js 中
- sql - 创建从 -1 开始的行索引列