zoukankan      html  css  js  c++  java
  • shell脚本学习(六)

    shell函数

    注:现在是unix编程

    实例:

    #!/bin/sh
    demon(){
      echo "这是一个shell脚本"
    }
    demon

    注: 调用是只写函数名没有()

    函数的返回值

    函数的返回值只能是数字(0-255)

    #!/bin/sh
    demon(){
      echo "这个函数会对输入的两个数字进行加法运算"
      echo "请输入第一个数字"
      read cat1
      echo "请输入第二个数字"
      read cat2
      echo "两个数字分别为${cat1}和${cat2}"
      return $(($cat2+$cat1))
    }
    demon
    echo "输入的两个数字的和是:$?"

    注:1)函数在调用前必须定义,也就是说函数必须写在脚本的前面;

      2)函数的返回值通过$?在调用函数后获得

      3)函数的返回值只能是(0-255),也就是前面的demon函数输入为255和1时,会返回0,切记

    函数参数

    #!/bin/sh
    demon(){
      echo "第1个参数是:$1"
      echo "第2个参数是:$2"
      echo "第3个参数是:$3"
      echo "第4个参数是:$4"
      echo "第5个参数是:$5"
      echo "第6个参数是:$6"
      echo "第7个参数是:$7"
      echo "第8个参数是:$8"
      echo "第9个参数是:$9"
      echo "第10个参数是:${10}"
      echo "总共有参数:$#"
      echo "作为一个参数输出所有参数:$*"
    }
    demon 1 2 3 4 5 6 7 8 9 10 11

    输出结果:

    第1个参数是:1
    第2个参数是:2
    第3个参数是:3
    第4个参数是:4
    第5个参数是:5
    第6个参数是:6
    第7个参数是:7
    第8个参数是:8
    第9个参数是:9
    第10个参数是:10
    总共有参数:11
    作为一个参数输出所有参数:1 2 3 4 5 6 7 8 9 10 11

    注: 注意第十个参数的获取方法要加{}

    shell输入输出重定向

    输出重定向 

    如 ll > usrs 会将命令的结果输出到usrs文件中(如果文件不存在则创建,有的覆盖),可以使用>>来实现追加

    输入重定向 

    如 命令行输入 wc test.sh 和wc < test.sh 第一个会显示文件名,第二个不会显示文件名,因为它仅仅知道从标准输入读取内容

    /dev/null

    如果执行某个命令不希望在命令行显示可以直接定向到/dev/null, /dev/null是个特殊的文件写入其中的内容都会被丢弃

    shell 文件包含

    shell也可以包含外部脚本

    引入方式有两种

    1) . filename

    2) source filename

    注: 第一种方式.后有个空格,不能省略

    被包含的文件可以没有执行的权限

  • 相关阅读:
    401. Binary Watch
    46. Permutations
    61. Rotate List
    142. Linked List Cycle II
    86. Partition List
    234. Palindrome Linked List
    19. Remove Nth Node From End of List
    141. Linked List Cycle
    524. Longest Word in Dictionary through Deleting
    android ListView详解
  • 原文地址:https://www.cnblogs.com/catcrazy/p/6293697.html
Copyright © 2011-2022 走看看