我的问题是我一直试图在shell上运行以下命令。
set a [file mkdir ./Desktop/New]
set b [open $a/new.rpt w]
希望a引用新文件夹
解释器不会返回任何错误,所以我认为我可以这样做 - >
set b [open $a/new.rpt w]
这次显示的错误是 - >
couldn't open "/new.rpt": permission denied
有人可以帮帮我吗?
答案 0 :(得分:2)
file mkdir
的结果(成功时)是一个空字符串。 (如果失败,您会收到catch
或try … trap …
的例外情况。)要执行您想要的操作,请将值放在变量中:
set a ./Desktop/New
file mkdir $a
set b [open $a/new.rpt w]
你可能也希望在某些时候这样做:
set a [file normalize $a]
这将删除对当前目录的引用,并将$a
转换为绝对文件名,如果您有时会执行cd /somewhere/else
,这将非常有用。