zoukankan      html  css  js  c++  java
  • shell变量的使用

    转载请标明http://www.cnblogs.com/winifred-tang94/

    shell环境中变量有三种类型:

    a、  环境变量;可以在shell脚本中直接利用“$环境变量名称”的形式引用。

    b、  用户自定义变量;不需要事先定义,通常情况下,使用变量的时候直接对变量赋初值。变量名称=变量初始值(注意:变量名称的要求——首字符必须是字母,可以用下划线,但是不能有标点符号和空格,不能使用shell里的关键字)

    c、  系统全局变量;代表了特定含义,不能被用户修改。一般来说,主要的全局变量包括以下几个:

    $#:执行shell脚本时,命令行参数个数,不包括脚本本身。

    $?:执行上一条shell命令的返回值(退出状态,大部分命令执行成功返回0,失败返回1,不过也有一些其他命令返回其他值标识其他错误)。

    $0:shell脚本程序自身的名称。同时,$1代表shell命令行中第一个参数,$2代表第二个参数,$3代表第三个参数,以此类推。

    $*:传递给脚本或函数的所有参数。

    $$:当前shell进程ID,就是当前脚本所在的进程ID。

    要在脚本中使用变量则是利用“$变量名称”的方法。

    Eg.创建一个脚本计算两数之和

    值得注意的一点:在使用expr进行运算时,运算符两边要记得加空格。

    结果是:

    一开始出错如下:

    原因:这个脚本文件需要除了脚本本身以外的参数,运行脚本的时候没有输入参数。

    $* 和 $@的区别:

    $* 和 $@ 都表示传递给函数或脚本的所有参数,不被双引号(" ")包含时,都以"$1" "$2" … "$n" 的形式输出所有参数。 但是当它们被双引号(" ")包含时,"$*" 会将所有的参数作为一个整体,以"$1 $2 … $n"的形式输出所有参数;"$@" 会将各个参数分开,以"$1" "$2" … "$n" 的形式输出所有参数。

    Eg.

  • 相关阅读:
    《转》python学习(5)--数据类型
    《转》python学习(4)对象
    《转》python学习(3)
    《转》python学习--基础下
    《转》python学习--基础上
    python初学总结(二)
    并发编程学习笔记(9)----AQS的共享模式源码分析及CountDownLatch使用及原理
    并发编程学习笔记(8)----ThreadLocal的使用及源码分析
    并发编程学习笔记(7)----线程之间的通信
    并发编程学习笔记(6)----公平锁和ReentrantReadWriteLock使用及原理
  • 原文地址:https://www.cnblogs.com/winifred-tang94/p/5823988.html
Copyright © 2011-2022 走看看