Unix:csh Shell循环示例

时间:2020-01-09 14:16:11  来源:igfitidea点击:

Linux或Unix的csh shell中的循环示例

Cshell(csh)或改进版本tcsh是Unixshell,最初由1970年代末加利福尼亚大学伯克利分校的Bill Joy创建。

语法

语法如下:

while ( condition ) 
do something 
command 1 
command 2 
end 

或者

set i = 1 
while ( i < 5 ) 
do something till i < 5 
command 1 
command 2 
@ i++ 
end 

或者

foreach n ( 1 2 3 4 5 ) 
#command1 
#command2 
end 

例子

以下csh代码将在屏幕上打印五次欢迎消息:

#!/bin/csh
# demoloop.csh - Sample loop script
set j = 1
while ( $j <= 5 )
   echo "Welcome $j times"
   @ j++
end

保存并关闭文件。
如下运行:

chmod +x demoloop.csh
./demoloop.csh

输出示例:

Welcome 1 times
Welcome 2 times
Welcome 3 times
Welcome 4 times
Welcome 5 times

csh foreach示例

#!/bin/csh
echo "Setting name servers...."
foreach i ( ns1.theitroad.local ns2.theitroad.local  ) 
   echo $i 
end

输出示例:

Setting name servers....
ns1.theitroad.local
ns2.theitroad.local

您可以通过以下方式对foreach使用通配符:

#!/bin/csh
foreach i (*)
        if (-f $i) then
            echo "$i is a file."
        endif
        if (-d $i) then
             echo "$i is a directory."
        endif
end

输出示例:

mycal.pl is a file.
skl is a directory.
x is a file.
x.pl is a file.
y is a file.

请注意,csh在许多创新功能中都很流行,但是csh在脚本编写方面从未如此流行。
如果要编写系统级的rc脚本,请避免使用csh。