我知道如何将foreach用作shell脚本。但我遇到了一个有线问题让我说我只是打印文件夹名称,我可以这样做:
foreach f (*/)
echo $f
end
,输出为1 /,2 /,3 / 但是,假设我试图将其作为单行代码来实现:
foreach f (*/) ; echo $f ; end
首先,它不会完成,它会让我进入另一个'结束'来完成foreach,在我这样做之后,它只显示第一个元素,而不是像以前一样遍历所有文件夹。
有人知道为什么会这样,我能做些什么才能正常工作?
感谢。
答案 0 :(得分:0)
来自man tcsh
The foreach, switch, and while statements, as well as
the if-then-else form of the if statement, require that
the major keywords appear in a single simple command
on an input line as shown below.