该计划非常简单:
#!/bin/csh -f
foreach path ( fileA.txt fileB.txt )
wc -l $path
grep "test" $path
end
然而,输出是:
fileA.txt/wc: Not a directory.
fileA.txt/grep: Not a directory.
fileB.txt/wc: Not a directory.
fileB.txt/grep: Not a directory.
那么代码有什么问题呢?这样做的正确方法是什么?
答案 0 :(得分:0)
你永远不应该在C-Shell中使用路径作为通用变量名,因为它包含shell的当前搜索目录以查找命令程序。
这比你的代码要好得多:
#!/bin/csh -f
foreach mypath ( fileA.txt fileB.txt )
wc -l $mypath
grep "test" $mypath
end