如何在csh shell的命令提示符中使用for循环 - 寻找体面的一个衬里

veh*_*zzz 4 shell csh tcsh

来自bash shell,我错过了一个简单的循环滚动(对于我在(...);做...完成;)

你会在cshell中发布典型的单行循环吗?

一个线索请,而不是多线 thx

Pau*_*ce. 10

csh手册页指出:

foreach,switch和while语句以及if语句的if-then-else形式要求主要关键字出现在输入行的单个简单命令中,如下所示.

foreach和end必须单独出现在不同的行上.

else和endif必须出现在输入行的开头; if必须单独出现在其输入行上或在else之后.

while和end必须单独出现在输入行上.

  • 另请参阅Csh Programming Considered Harmful中的"流控制":http://www.faqs.org/faqs/unix-faq/shell/csh-whynot/ (2认同)

Dig*_*oss 2

哇,我已经很多年没有写过csh剧本了。但比尔·乔伊确实自己写了它,我想值得怀念一下......

set t=(*)
foreach i ($t)
  echo $i >> /tmp/z
end
Run Code Online (Sandbox Code Playgroud)

要不就foreach i (*)

此循环结构与 csh 具有的单词列表的内置概念配合得很好。这在 bash 中有点存在,但在普通的 posix shell 中不存在。

set q=(how now brown cow)
echo $q[2]
Run Code Online (Sandbox Code Playgroud)

foreach循环巧妙地迭代此数据结构。