• shell函数及输入输出和引用


    shell允许将一组命令集或语句形成一个可用块,这些块成为shell函数。shell函数根一般的函数一样,也有2部分组成:函数名、函数体,函数名应该是唯一的:如
    #!/bin/sh
    hello()
    {
       echo "hello world"
    }
    hello       #调用函数hello
    shell输入输出
    1、echo(输出)命令
    使用echo可以显示文本行或变量,或者把字符串输入到文件,它的一般形式为:echo string
    2、read(输入)命令
    可以使用read语句从键盘或文件的某一行文本中读入信息,并将其赋给一个变量,如果只指定了一个变量,那么read将会把所有的输入赋给改变量,直到遇到第一个文件结束符或回车。它的一般形式为:read variable1  variable2  ........如果给出了多个变量,shell将用空格作为变量之间的分隔符。如果输入文本域过长,shell将所有超长部分赋予最后一个变量,如:
    read name sex age
    echo $name
    echo $sex
    如果输入:wangfangyong man 22
    输出结果为:
    wangfangyong
    man 22
    3、cat命令
    cat是一个简单而通用的命令,可以用它来显示文件内容,创建文件,还可以用它来显示控制字符。在使用cat时要注意,他不会在文件分页符处停下来,他会一下显示完整个文件,如果希望每次显示一页,可以使用more命令或把cat命令的输出通过管道传递到另一个具有分页功能的命令中。
    cat > a.txt
    adb
    gjk
    <ctrl+d>
    上面的命令创建了一个新文件a.txt,内容为adb      gjk,可以使用cat a.txt查看a.txt的内容。
    4、管道(|)
    管道可以把一个命令的输出传递给另一个命令作为输入。管道用竖杠|表示,它的一般形式为:命令1|命令2
    5、tee
    tee把输出的一个副本输送到标准输出,把另一个副本复制到相应的文件中,一般形式为:tee -a files其中-a表示追加到问价末尾。
    ls -l | tee ls.txt
    在标准输出的同时将副本复制到ls.txt中,使用cat ls.txt可以发现内容与之前标准输出一样。
    6、文件重定向(command)
    在对标准错误输出进行重定向时,必须要实用文件描述符,但是对于标准输入和输出就不必要。常用的文件重定向命令可以查手册知道。

    引用

    1、双引号:使用双引号可以引用除字符$、`、\、外的任意字符或字符串。

    2、单引号:单引号与双引号类似,不同的是shell会忽略任何引用值,如:

    who='wang fangyong'

    echo 'current user is 'who''

    结果为:current user is 'wang fangyong'

    3、反引号

    反引号用于设置系统命令的输出到变量,shell将反引号中的内容作为一个系统命令,并执行其内容,如:

    echo `date`

    结果为:2010年 10月 04日 星期一  11:25:55  CST

    4、反斜杠

    如果下一个字符有特殊含义,可用反斜杠防止shell误解其含义,即屏蔽其特殊含义,字符&*+^$`"|?有特殊含义。注意使用-e选项来显示控制字符。

    echo -e '\0100 is at sign'

    @ is at sign

    使用expr时,用*表示乘法会出错,在*前加上反斜杠才正确。

    expr 10 \* 10

    结果为:100

  • 相关阅读:
    Freckles (最小生成树)
    素数筛法 模板
    Least Common Multiple (最小公倍数,先除再乘)
    Watering Grass (贪心,最小覆盖)
    Minimal coverage (贪心,最小覆盖)
    今年暑假不AC (贪心)
    Bzoj1072 [SCOI2007]排列perm
    Bzoj1087 [SCOI2005]互不侵犯King
    POJ1185 炮兵阵地
    POJ3254 Corn Fields
  • 原文地址:https://www.cnblogs.com/276815076/p/1841856.html
Copyright © 2020-2023  润新知