csh脚本语法实例

本站所有内容来自互联网收集,仅供学习和交流,请勿用于商业用途。如有侵权、不妥之处,请第一时间联系我们删除!Q群:迪思分享

免费资源网 – https://freexyz.cn/

csh实例 参考:

复制代码

代码如下:

#!/bin/csh -vx

#csh -vx show the command before running to help debug

#just to check syntax

#csh -n $0

#argv

if ($#argv < 2) then

echo “Sorry, but you entered too few parameters”

    echo “usage:  $0 arg1 arg2

    exit

endif

set arg1 = $1

set arg2 = #2

foreach i ($*)

   echo $i

end

#execute commands

echo “Hello there `whoami`.  How are you today?”

echo “You are currently using `hostname` and the time is `date`”

echo “Your directory is `pwd`”

whoami

hostname

date

pwd

#var

set name = Mark

echo $name

set name = “Mark Meyer” # if the string has space, must use “”

echo $name

# it means set to NULL

set name =

unset name

# get user input

set x = $< 

set current_user = `whoami`

#buildin vars

echo $user      # who am I?

echo $status    # a numeric variable, usually used to retun error codes

#Arithmetic variables

@ i = 2

@ k = ($x – 2) * 4

@ k = $k + 1

@ i–

@ i++

#array

set name = (mark sally kathy tony)

echo $#name    # num of the array

echo $name[1]

echo $name[4]

echo $name[2-3]

echo $name[2-]        # all elements from 2 to the end

echo $name[1-3]

echo $name[$i]

set name = ($name doran)

set name = (doran $name)

set name = ($name[1-2] alfie $name[3-])

shift name  # get rid of the frist element of the array

shift #if no argument is given, it will get rid of argv

#Expressions and operators

==        equal     (either strings or numbers)

!=        not equal     (either strings or numbers)

=~        string match

!~        string mismatch

<=        numerical less than or equal to

>=        numerical greater than or equal to

>         numerical greater than

<         numerical less than

-e file           file merely exists (may be protected from user)

-r file           file exists and is readable by user

-w file           file is writable by user

-x file           file is executable by user

-o file           file is owned by user

-z file           file has size 0

-f file           file is an ordinary file

-d file           file is a directory

!   — negate                

&&  — logical and

||  — logical or

#if-else

# run cmd as if expression

if ({grep -s junk $1}) then 

   echo “We found junk in file $1”

endif

# check if the var is defined

if ($?dirname) then

    ls $dirname

endif

if (-e somefile) then

 grep $1 somefile

else

echo “Grievous error!  Database file does not exist”.

endif

#foreach

foreach i (*)

    if (-f $i) then

echo “============= $i ===================”

        head $i

    endif

    if (-d $i) then

        (cd $i; headers)

    endif

end

#while

while ($#argv > 0)

grep $something $argv[1]

end

@ n = 5

while ($n)

     # do something

     @ n–

end

#switch-case

switch ($argv[$i])

 case quit:

break        # leave the switch statement

 case list:

        ls

        breaksw

 case delete:

 case erase:

        @ k = $i + 1

        rm $argv[$k]

breaksw

endsw

#here document

grep $i <

John Doe   101 Surrey Lane    London, UK    5E7 J2K

Angela Langsbury   99 Knightsbridge, Apt. K4     Liverpool

John Major  10 Downing Street  London

HERE

cat > tempdata <

53.3 94.3 67.1

48.3 01.3 99.9

42.1 48.6 92.8

ENDOFDATA

exit 0

免费资源网 – https://freexyz.cn/


© 版权声明
THE END
★喜欢这篇文章吗?喜欢的话,麻烦动动手指支持一下!★
点赞15 分享
评论 抢沙发

请登录后发表评论

    暂无评论内容