0

我是一名初学者,用 tcsh 和 csh 编写脚本(这些都是在我的课程中教授的)

我正在编写一个使用 find 放置目录路径的脚本,这是脚本的一部分:

set list = (`find $PATH -type d`)

它可以正常工作,直到文件或目录名称未命名,例如:@fi@@lename&& 或 -filename 或 :-,?!drectoryanem!-``

这些我无法处理的特殊字符我将查找脚本更改为:

set list = ("`find $PATH -type d`")

当我想在下一个脚本中使用列表中的路径时,这些都不起作用:

foreach i ($list:q)
   foreach file (`find "$i" -maxdepth 1 -type f`)
   ....
   end
end

它无法处理这些特殊的文件名,所以我收到很多错误,比如 find: -."!filename: no such filename or directory

4

1 回答 1

0

我解决了

它必须是这样的:

set subor = ("`find "'"$i"'" -type f -maxdepth 1`")

现在它会忽略文件名中的所有内容

并在:

foreach j ($subor:q)

我以这种方式引用它,它忽略了文件名中的白色字符

于 2013-10-26T09:40:00.767 回答