• Shell变量



    前言

    1、Shell执行方式:子shell   本shell

    子shell: bash  sh      (bash  test.sh)
    
    本shell: .    source    (. test.sh)

    2、Shell与其他语言:

     3、查看shell解释器:

    [root@orange ~]# cat /etc/shells 
    /bin/sh
    /bin/bash
    /usr/bin/sh
    /usr/bin/bash

    一、变量

    1、解释

    shell 变量? 用一个固定的字符串去表示不固定的内容,便于修改。

    2、变量类型

    1. 自定义变量

    定义变量: 变量名=变量值 变量名必须以字母或下划线开头,区分大小写 ip=192.168.2.115 
    引用变量: $变量名 或 ${变量名}
    查看变量: echo $变量名; "set"可以查看所有变量(包括自定义变量和环境变量)
    取消变量: unset 变量名
    作用范围: 仅在当前shell中有效

    变量赋值:

    1. 显式赋值
    变量名=变量值
    示例:
    ip=192.168.1.255
    school="BeiJing school"
    today1=`date +%F`
    today2=$(date +%F)
    
    2. read 从键盘读入变量值
    read 变量名
    read -p "提示信息: " 变量名
    read -t 5 -p "提示信息: " 变量名    //-t 等待5秒,后超时 read -n 2 变量名    //-n 只记录几个字符
    
    例 read -p "请输入您测试的IP地址:" ip
    ping -c1 $ip &>/dev/null && echo " $ip up" || echo "$ip down"

    2.环境变量

    定义环境变量: 方法一 export you=/home/backup 
                    方法二 export you 将自定义变量转换成环境变量
    引用环境变量: $变量名 或 ${变量名}
    查看环境变量: echo $变量名 env 例如env |grep back_dir2
    取消环境变量: unset 变量名
    变量作用范围: 在当前shell和子shell有效 !!!

    3.位置变量

    命令     参数1 参数2 参数3 ....9以后特殊定义
    $1 $2 $3 $4 $5 $6 $7 $8 $9 ${10} ...

    4.预定义变量

    预先定义过的变量
    $0 脚本名 $* 所有的参数 $@ 所有的参数 $# 参数的个数 $$ 当前进程的PID $! 上一个后台进程的PID $? 上一个命令的返回值 0表示成功

     二、变量的运算

    方法一:expr
    方法二:$(())
    方法三:$[]
    方法四:let 表达式
    方法一:expr
    expr 1 + 2
    expr $num1 + $num2 + - * / %          (*是任意字符,使用 转义一下)
    +-*/
    %取余
    方法二:$(())
    echo $(($num1+$num2)) + - * / %
    echo $((num1+num2))
    echo $((5-3*2)) 
    echo $(((5-3)*2))
    echo $((2**3))        //(幂)2的3次方
    sum=$((1+2)); echo $sum
    方法三:$[]
    echo $[5+2] + - * / %
    echo $[5**2]
    方法四:let 表达式
    let sum=2+3; echo $sum
    let i++; echo $i
  • 相关阅读:
    【JVM】tomcat参数调整
    windows 资源监视器
    svn搭建相关
    mysqlli
    整理知识
    【刷题】洛谷 P4142 洞穴遇险
    【刷题】洛谷 P4143 采集矿石
    【刷题】BZOJ 4199 [Noi2015]品酒大会
    【刷题】BZOJ 2754 [SCOI2012]喵星球上的点名
    【刷题】BZOJ 3513 [MUTC2013]idiots
  • 原文地址:https://www.cnblogs.com/haoee/p/14169333.html
Copyright © 2020-2023  润新知