迭代目录Unix TCSH脚本中的文件时的权限

时间:2013-03-04 10:25:32

标签: unix permissions tcsh

我正在编写一个脚本,用于打印主目录子目录中每个文件的文件名。我的代码是:

foreach file (`~/.garbage`)
     echo "$file"
end

当我尝试运行脚本时,出现以下错误:

home/.garbage: Permission denied.

我已经尝试为.garbage目录和我的脚本设置755的权限,但是我无法克服这个错误。有什么我做错了吗?这是一个tcsh脚本。

2 个答案:

答案 0 :(得分:0)

为什么不使用ls ~/.garbage

或者如果您希望每个文件位于单独的行ls -1 ~/.garbage

答案 1 :(得分:0)

backtic将尝试执行其中的任何内容。您收到此错误,因为您在backtic中提供了目录名称。

你可以在Mark提到的backtics中使用ls ~/.garbage或在引号中使用~/.garbage/*并依赖shell为你扩展glob。如果你只想从完整路径获取文件名;使用basename命令或某些sed / awk magic