zoukankan      html  css  js  c++  java
  • csh shell 语法 例子

    复制代码2014-02-12 11:18:11

    #!/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 <<HERE
    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 <<ENDOFDATA
    53.3 94.3 67.1
    48.3 01.3 99.9
    42.1 48.6 92.8
    ENDOFDATA

    exit 0
  • 相关阅读:
    SqlServer 查看数据库中所有存储过程
    SqlServer 查看数据库中所有视图
    SqlServer 查询表的详细信息
    SqlServer 遍历修改字段长度
    net core 操作Redis
    Tuning SharePoint Workflow Engine
    Open With Explorer
    Download language packs for SharePoint 2013
    Change Maximum Size For SharePoint List Template when Saving
    Six ways to store settings in SharePoint
  • 原文地址:https://www.cnblogs.com/xiaopengren/p/3545626.html
Copyright © 2011-2022 走看看