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

    Shell常用特殊变量

    经常会在shell命令中,看到$0, $#, $*, $@, $?, $$这样的取值,这些代表什么呢?

    变量含义
    $0 当前脚本的文件名
    $n 传递给脚本或函数的参数。n 是一个数字,表示第几个参数。例如,第一个参数是$1,第二个参数是$2
    $# 传递给脚本或函数的参数个数
    $* 传递给脚本或函数的所有参数
    $@ 传递给脚本或函数的所有参数。被双引号(” “)包含时,与 $* 稍有不同
    $? 上个命令的退出状态,或函数的返回值。成功返回0,失败返回1
    $$ 当前Shell进程ID。对于 Shell 脚本,就是这些脚本所在的进程ID

    $* 和 $@ 都是将参数一个一个返回

    "$*"将所有参数当做一个整体字符串返回 , "$@"将参数一个一个返回

    常用判断参数

    在shell命令文件中还经常会看到类似与if [ -z "${SPARK_HOME}" ]; then这样的判断语句?例如-z是什么意思?

    下面是几个常见的参数,供查询使用:

    -a file exists.
    -b file exists and is a block special file.
    -c file exists and is a character special file.
    -d file exists and is a directory.
    -e file exists (just the same as -a).
    -f file exists and is a regular file.
    -g file exists and has its setgid(2) bit set.
    -G file exists and has the same group ID as this process.
    -k file exists and has its sticky bit set.
    -L file exists and is a symbolic link.
    -n string length is not zero.
    -o Named option is set on.
    -O file exists and is owned by the user ID of this process.
    -p file exists and is a first in, first out (FIFO) special file or named pipe.
    -r file exists and is readable by the current process.
    -s file exists and has a size greater than zero.
    -S file exists and is a socket.
    -t file descriptor number fildes is open and associated with a terminal device.
    -u file exists and has its setuid(2) bit set.
    -w file exists and is writable by the current process.
    -x file exists and is executable by the current process.
    -z string length is zero.

    判断命令

     shell中除了有上边这样用来判断文件是否存在的参数,当然还有判断两个数是否相等这样更常规的命令

    例如,if [ $# -gt 0 ]这样判断传入参数个数是否为0

    命令   含义
    -eq   等于
    -ne   不等于
    -gt   大于
    -lt    小于
    ge   大于等于
    le   小于等于

     
  • 相关阅读:
    iphone开发之绘制地图线路
    (ios开发)在MapKit地图上添加注释
    IOS开发地图 (mapkit)实验
    iOS开发之在地图上绘制出你运行的轨迹
    iOS开发之在地图上绘制出你运动的轨迹
    iOS地图位置开发
    IOS开发中的数据库的学习
    Iphone开发 有关 Sqllist的用法
    MapKit
    iphone开发 有关 Navigation Bar 和 UITableView 的用法(代码加说明 呵呵)
  • 原文地址:https://www.cnblogs.com/zyanrong/p/10929946.html
Copyright © 2011-2022 走看看