zoukankan      html  css  js  c++  java
  • 【shell】变量

    shell变量可分为两类:局部变量和环境变量。局部变量只在创建它们的shell中可用。而环境变量则可以在创建它们的shell及其派生出来的任意子进程中使用。有些变量是用户创建的,其他的则是专用shell变量。变量名必须以字母或下划线字符开头。其余的字符可以是字母、数字(0~9)或下划线字符。

    2 环境变量
    环境变量的定义方法如下:
    var=value
    export var

    3.查看变量

    set:查看所有变量

    env:查看环境变量

    unset:删除变量

    PATH="$PATH":路径

    4.数值变量

    age=22
    age=$age+1
    echo $age
    >>>22+1  ##shell变量都为字符串,不会进行数学运算
    let age=$age+1  ##可以用let命令使其进行数学运算
    echo $age
    >>>24  
    age=$(($age+1))  ##变量算数表达式$(( )) ,$()为执行变量
    echo $age
    >>>25           
    

    5 特殊变量
    $0:当前脚本的文件名
    $num:num为从1开始的数字,$1是第一个参数,$2是第二个参数,${10}是第十个参数
    $#:传入脚本的参数的个数
    $*:所有的位置参数(作为单个字符串) 
    $@:所有的位置参数(每个都作为独立的字符串)。
    $?:当前shell进程中,上一个命令的返回值,如果上一个命令成功执行则$?的值为0,否则为其他非零值,常用做if语句条件
    $$:当前shell进程的pid
    $!:后台运行的最后一个进程的pid

    ##test.sh a b c
    
    echo $0
    >>>test.sh
    echo $1
    >>>a
    echo $2
    >>>b
    echo $3
    >>>c
    echo $#
    >>>3
    for i in "$*"
            do
                    echo "parameter is $i"
            done
    >>>a b c (所有参数为一个整体)
    for m in "$@"
            do
                    echo "parameter is $m"
            done
    >>>a
    >>>b
    >>>c
    echo $?
    >>>0
    echo $$
    >>>1234
    ls &
    echo $!
    >>>1345
    

      

  • 相关阅读:
    Uva(10129)+Uva(10054)
    Uva 10004(二分图的判定)
    flume系列之—flume ng使用demo
    目前可选的开源日志收集项目
    flume系列之一flume简介
    Objective-C之null NaN undefined
    Objective-C之category
    Objective-C协议与非正式协议
    Objective-C学习笔记_命令行参数获取
    Objective-C学习笔记_Xcode模拟命令行填入参数执行
  • 原文地址:https://www.cnblogs.com/paulwinflo/p/5587249.html
Copyright © 2011-2022 走看看