Shell 在Csh脚本中设置变量

Shell 在Csh脚本中设置变量,shell,sh,csh,Shell,Sh,Csh,我正在创建一个这样的脚本 #!/bin/csh set h=1; while [h=1] do echo "hi"; h=2; done; 但当我执行它时,我会得到: ===> message after : csh test.sh [h=1]: No match. 尝试: 您似乎试图将Bourne shell语法混合到您的C shell脚本中 Csh通常是一种糟糕的脚本语言,尽可能避免使用它 更新: 相当于读取h的csh为: set h = $< set h

我正在创建一个这样的脚本

#!/bin/csh

set h=1;

while [h=1] do  echo "hi"; h=2; done;
但当我执行它时,我会得到:

===> message after : csh test.sh     [h=1]: No match. 
尝试:

您似乎试图将Bourne shell语法混合到您的C shell脚本中

Csh通常是一种糟糕的脚本语言,尽可能避免使用它

更新:

相当于
读取h
的csh为:

set h = $<
set h=$<

#/料仓/csh组h=1;而($h==1)回显“hi”读h;echo“write value deferent then 1”read h endo不要尝试将代码放入注释中,所有格式都将丢失。编辑你的问题。但答案是csh中没有
read
命令,这也是bourneshell。请RTFM.OK再次感谢您,但始终存在另一个问题:查看所有脚本重定向stdout和stderr的语法是
&filename
,而不是
&filename
。如果不知道语法是什么,为什么要尝试用csh编写脚本?请用RTFM!!!!!!!如果我回答了原来的问题,请接受我的回答。如果你有新的问题,开始一个新的问题,不要把它们放在评论中。
set h = $<