zoukankan      html  css  js  c++  java
  • Linux中变量$#,$@,$0,$1,$2,$*,$$,$?的含义

    我们先写一个简单的脚本,执行以后再解释各个变量的意义
     
    # touch variable
    # vi variable
     
    脚本内容如下:
     
    #!/bin/sh
    echo "number:$#"
    echo "scname:$0"
    echo "first :$1"
    echo "second:$2"
    echo "argume:$@"
    echo "show parm list:$*"
    echo "show process id:$$"
    echo "show precomm stat: $?"
    保存退出
     
    赋予脚本执行权限
     
    # chmod +x variable
     
    执行脚本
     
    # ./variable aa bb
    number:2
    scname:./variable
    first:aa
    second:bb
    argume:aa bb
    show parm list:aa bb
    show process id:24544
    show precomm stat:0
     
    通过显示结果可以看到:
     
    $# 是传给脚本的参数个数
    $0 是脚本本身的名字
    $1 是传递给该shell脚本的第一个参数
    $2 是传递给该shell脚本的第二个参数
    $@ 是传给脚本的所有参数的列表
    $* 是以一个单字符串显示所有向脚本传递的参数,与位置变量不同,参数可超过9个
    $$ 是脚本运行的当前进程ID号
    $? 是显示最后命令的退出状态,0表示没有错误,其他表示有错误
     
     
    转自: http://dadekey.blog.51cto.com/107327/119938
  • 相关阅读:
    某题3
    无向图Tarjan&&求树直径
    分布式消息中间件(一)设计
    大数据算法(一)亚线性算法
    SparkSQL
    MySQL索引
    Spark程序设计
    Java高并发网络编程(五)Netty应用
    Java高并发网络编程(四)Netty
    Java高并发网络编程(三)NIO
  • 原文地址:https://www.cnblogs.com/pinganzi/p/5307312.html
Copyright © 2011-2022 走看看