导航:首页 > 程序命令 > tcl命令路径中包含空格

tcl命令路径中包含空格

发布时间:2025-03-09 17:01:50

❶ file 命令

Tcl中文件名称操作遵循Unix/Linux的命名规范.

x/y/z表示x文件夹下的y 子文件夹及y以下的子文件夹z.

~admin/email则表示admin用户的email目录.

l  file join命令: -->    文件名称联合

在Windows文件夹下。\来代表文件夹分隔。比方 \192.168.0.1share ,则应该写成 \\192.168.0.1\share , 假设考虑使用file split, file join能够将文件和文件夹跨平台的结合起来。

file join命令能够让脚本不因此受限于某种平台,如Unix或Windows

假设某项中有空格,用{}组织起来,再传给join.

l  file split命令: -->    文件名称拆分

l  file nativename命令: -->    返回原生格式的文件名称

l  file dirname命令: -->    移除文件名称中的最后一不部分

NOTE: 这个命令的功能就是得到包括该文件的文件夹的名称。所以最后一个文件,得到的就是.。即当前文件夹.

l  file rootname命令: -->    返回文件名称中除扩展名之外的部分

l  file extension命令: -->    返回文件的扩展名

l  file tail命令: -->    返回文件名称的最后一部分

l  file normalize命令: -->    返回独一无二的标准化路径

l  file pathtype命令: -->    返回文件名称的相对绝对路径

l  pwd命令: -->    列出当前文件夹文件夹

l  cd命令: -->    改变当前目录

l  glob命令: -->  

该命令能够获取一个或很多其它模式参数,返回匹配的文件名称列表

该模式还同意模式参数包括逗号分隔符,[]

查看该文件夹以下的全部py,pl文件,WINDWOS下\表文件夹.

返回当前目录的全部子目录

-types

l  b 块设备

l  c 字符设备

l  d 代表文件夹

l  f 文件

l  l 代表符号链接

l  p 代表命名管道

l  s 代表套接字

l  r 读

l  w 写

l  x 可运行

-directory

l  file mkdir命令: -->    创建新文件夹

l  file delete命令: -->    删除文件

删除一个文件

删除多个文件

通配符删除文件

# 错误的方式

# 正确的方式

删除非空文件,如目录为空报错:

必须加-force参数

l  file 命令: -->    拷贝文件

假设已经存在的文件,直接覆盖会报错,必须用-force强制覆盖

能够复制文件到指定文件夹,但必须是文件夹

l  file rename命令: -->    文件重命名

-force强命名

l  file option name命令: -->    文件信息命令

option能够是下面信息

exists

isfile

isdirectory

type

readable

size

stat选项:提供了一种简单方法,能够获得文件的各种信息

文件信息的相关操作

r   仅仅读写

r+  可读写

w   仅仅写

w+  可读写

a   追加写

a+  可读写

文件读写的相关操作

gets --> 一次一行读取文件

puts --> 写入文件

open --> 打开文件

close --> 关闭文件

flush --> 刷新缓冲区

l  file channels命令: -->   列出全部的通道

stdout --> 标准输出

stdin --> 标准输入

stderr --> 标准错误

原文连接:http://t.zoukankan.com/clnchanpin-p-6886038.html

❷ TCL编程的语法规则

TCL的语法规则:

1、解释器
在Tcl的数据结构中的核心是Tcl_Interp.一个解释器包含了一套命令,一组变量和一些用于描述状态的东西。每一个 Tcl命令是 在特定的Tcl_Interp中运行的,基于Tcl的应用程序可以同时拥有几个Tcl_Interp。Tcl_Interp是一个轻量级的结构,可以快速的新建和删除。

2、数据类型
Tcl只支持一种数据结构:字符串(string)。所有的命令,命令的所有的参数,命令的结果,所有的变量都是字符串。请牢记这一点,所有的东西都是字符串。这是它比较有特点的方面字符串有三种形式:命令(command),表达式(expresion)和表(list)。

3、Basic Command Syntax 基本语法
Tcl有类似于shell和lisp的语法,当然也有许多的不同。一 条Tcl的命令串包含了一条或多条命令用换行符或分号来隔开,而每一条命令包含了一个域(field)的集合,域使用空白分开的,第一个域是一个命令的名字,其它的是作为参数来传给它。
例如:
set a 22 //相当于C中的 a=22 a是一个变量这条命令分为三个域:1:set 2:a 3:22 set使用于设置变量的值的命令,a、20 作为参数来传给它,a使它要操作的变量名,22是要付给的a值。
Tcl的命令名可以是内置的命令也可以是用户建的新命令,如果是用户用户建的新命令应用程序中用函数Tcl_CreateCommand来创建。所有的参数作为字符串来传递,命令自己会按其所需来解释的参数的。命令的名字必须被打全,但 Tcl解释器找不到一同名的命令时会用 unknown命令来代替。
在很多场合下,unknown 会在库目录中搜寻,找到一个的话,会自动生成一个Tcl命令并调用它。unknown经常完成缩略的命令名的执行。但最好不要使用。

4、注释
和shell很象,第一个字母是"#"的Tcl字符串是注释。
其他细节规则
Grouping arguments with double-quotes 用双引号来集群参数,目的在于使用有空白的参数。
例如:
set a "this string contains whitespace"
如果一个参数一双引号来开始,该参数会一直到下一个双引号才结束。其中可以有换行符和分号。
Variable substitution with $ 用美元符进行变量替换说白了就是引用该变量。
例如:
set a hello
set b $a // b = "hello" 实际上传给set命令的参数
//是b,"hello"
set c a // b = "a"
Command substitution with brackets 命令子替换(用方括号)
例如:
set a [set b "hello"]
实现执行 set b "hello" 并用其结果来替换源命令 中的方括号部分,产生一条新命令
set a "hello" //"hello" 为 set b "hello" 的返回值
最终的结果是b="hello" a="hello"
当命令的一个子域以方括号开始以方括号结束,表示要进行一个命令子替换。并执行该子命令,用其结果来替换原命令中的方括号部分。方括号中的部分都被视为Tcl命令。
如下一个复杂一点的例子:
set a xyz[set b "abc"].[set c "def"]
//return xyzabcdef
Backslash substitution 转移符替换
转移符时间不可打印字符或由它数意义的字符插入进来。这一概念与C语言中的一样。
 Backspace (0x8).
f Form feed (0xc).
Newline (0xa).
Carriage-return (0xd).
Tab (0x9).
v Vertical tab (0xb).
{ Left brace (`{").
} Right brace (`}").
[ Open bracket (`[").
] Close bracket (`]").
$ Dollar sign (`$").
sp Space (` "): does not terminate argument.
; Semicolon: does not terminate command.
" Double-quote.
Grouping arguments with braces 用花扩括号来集群参数
用花扩括号来集群参数与用双引号来集群参数的区别在于:用花扩括号来集群参数其中的三种上述的子替换不被执行。而且可以嵌套。
例如:
set a {xyz a {b c d}}//set收到两个参数 a "xyz a {b c d}"
eval {
set a 22
set b 33
}//eval收到一个参数 "set a 22
set b 33"

5、命令综述
1.一个命令就是一个字符串(string)。
2.命令是用换行符或分号来分隔的。
3.一个命令由许多的域组成。第一个于是命令名,其它的域作为参数来传递。
4.域通常是有空白(Tab横向制表健 Space空格)来分开的。
5.双引号可以使一个参数包括换行符或分号。三种子替换仍然发生。
6.花括号类似于双引号,只是不进行三总体换。
7.系统只进行一层子替换,机制替换的结果不会再去做子替换。而且子替换可以在任何一个域进行。
8.如果第一个非控字符是`#",这一行的所有东西都是注释。

6、表达式
对字符串的一种解释是表达式。几个命令将其参数按表达式处理,如:expr、for 和 if,并调用Tcl表达式处理器(Tcl_ExprLong,Tcl_ExprBoolean等)来处理它们。其中的运算符与C语言的很相似。
!
逻辑非
* / % + -
<< >>
左移 右移 只能用于整数。
< > <= >= == !=
逻辑比较
& ^ |
位运算和 异或 或
&&''
逻辑"和" "或"
x y : z
If-then-else 与C的一样
Tcl 中的逻辑真为1,逻辑假为0。
一些例子:
5./ 4.0
5./ ( [string length "abcd"] + 0.0 )
计算字符串的长度 转化为浮点数来计算
"0x03" > "2"
"0y" < "0x12"
都返回 1
set a 1
expr $a+2
expr 1+2
都返回 3

阅读全文

与tcl命令路径中包含空格相关的资料

热点内容
如何从管理员界面删除文件夹 浏览:908
单片机三总线信息如何隔离 浏览:690
云服务器研发费用明细 浏览:957
unity3d手机游戏开发pdf 浏览:366
mysql重启命令linux 浏览:876
程序员日常业余内容 浏览:363
steam如何更改吃鸡服务器 浏览:212
我的世界up主多人用什么服务器 浏览:161
缝纫机电脑机编程 浏览:59
autowired源码深度解析 浏览:895
校园卡怎么上app 浏览:743
pascal高精度算法 浏览:870
阿里云服务器如何修改php 浏览:8
51单片机小项目 浏览:607
为什么d盘e盘无法解压 浏览:314
软件放文件夹压缩以后会变小吗 浏览:669
文件夹中的图片怎么整体压缩 浏览:579
程序员那么可爱妈妈是谁演的 浏览:799
密码反编译在线 浏览:4
php学习小结 浏览:13