我正在编写一个脚本,用于打印主目录子目录中每个文件的文件名。我的代码是:
foreach file (`~/.garbage`)
echo "$file"
end
当我尝试运行脚本时,出现以下错误:
home/.garbage: Permission denied.
我已经尝试为.garbage目录和我的脚本设置755的权限,但是我无法克服这个错误。有什么我做错了吗?这是一个tcsh脚本。
答案 0 :(得分:0)
为什么不使用ls ~/.garbage
或者如果您希望每个文件位于单独的行ls -1 ~/.garbage
答案 1 :(得分:0)
backtic将尝试执行其中的任何内容。您收到此错误,因为您在backtic中提供了目录名称。
你可以在Mark提到的backtics中使用ls ~/.garbage
或在引号中使用~/.garbage/*
并依赖shell为你扩展glob。如果你只想从完整路径获取文件名;使用basename
命令或某些sed / awk magic