• 变量:用户自定义变量(本地变量),环境变量,位置参数变量,预定义变量


    用户自定义变量(本地变量)

    [root@localhost ~]# var1=中国
    [root@localhost ~]# var2="$var1"欢迎你  注释:变量叠加方式一
    [root@localhost ~]# echo $var2
    中国欢迎你
    [root@localhost ~]# var3=${var1}欢迎你  注释:变量叠加方式二
    [root@localhost ~]# echo $var3
    中国欢迎你
    [root@localhost ~]# echo $var1
    中国
    [root@localhost ~]# unset var1  注释:取消变量。set可查看系统中所有已定义的变量
    [root@localhost ~]# echo $var1
    
    [root@localhost ~]# 

    环境变量:

    查看环境变量:env

    查看进程树:pstree

    申请变量为全局变量(环境变量):export 变量名

    [root@localhost ~]# set|grep PS1
    PS1='[u@h W]$ '
    [root@localhost ~]# echo $PS1
    [u@h W]$
    [root@localhost ~]# PS1='[u@h w@	]$'
    [root@localhost ~@20:24:41]#

    PS1各项含义:

    u:当前用户名

    h:主机名

    W:显示当前所在目录最后一个目录名

    w:显示当前所有目录完整路径

    $:提示符,root为#,普通用户为$

    d:显示日期,格式“星期 月 日"

    :24小时制时间,"HH:MM:SS"

    T:12小时制时间,"HH:MM:SS"

    A:24小时制时间,"HH:MM"

    #:执行的第几个命令


    位置参数变量

    $n  n为数字,0代表命令本身,1-9代表第1到9个参数,10以上参数用大括号,如${10}

    $*  代表所有参数,把所有参数看成一个整体

    $@  代表所有参数,把每个参数区分

    $#  代表所有参数个数

    [root@localhost shFiles]# vim param.sh
    #!/bin/bash
    
    echo $0
    echo $1
    echo $2
    echo $3
    echo $*
    echo $@
    echo $#
    [root@localhost shFiles]# ./param.sh a b c d
    ./param.sh
    a
    b
    c
    a b c d
    a b c d
    4

     $*与$@区别:

    [root@localhost shFiles]# vim starXat.sh       
    #!/bin/bash
    
    for i in "$*"  注释:要加双引号,不然效果和$@一样。
            do
                    echo "The parameters is: $i"
            done
    
    for j in "$@"
            do
                    echo "The parameters is: $j"
            done
    [root@localhost shFiles]# ./starXat.sh a b c
    The parameters is: a b c
    The parameters is: a
    The parameters is: b
    The parameters is: c

     预定义变量

    $?  最后一次执行命令返回状态,0正确执行,非0未正确执行

    $$  当前进程号(PID)

    $!  后台运行的最后一个进程号(PID)

    [root@localhost shFiles]# echo $?
    0
    [root@localhost shFiles]# echo $$
    2312
    [root@localhost shFiles]# ls&  注释:把进程放入后台执行
    [1] 2643
    [root@localhost shFiles]# hello.sh  param.sh  starXat.sh  Tetris.sh
    
    [1]+  完成                  ls --color=auto
    [root@localhost shFiles]# echo $!
    2643

     read接收键盘输入:read [选项] [变量]

    [root@localhost shFiles]# read -p "请输入:"
    请输入:abc
    [root@localhost shFiles]# read -p "请输入:" -t 10
    请输入:[root@localhost shFiles]# 
    [root@localhost shFiles]# read -p "请输入:" -n 3
    请输入:abc[root@localhost shFiles]# 
    [root@localhost shFiles]# read -p "请输入:" -s      
    请输入:[root@localhost shFiles]# 
    [root@localhost shFiles]# echo "abc 
     cde"
    abc 
     cde
    [root@localhost shFiles]# echo -e "abc 
     cde"  注释:输出换行时加-e选项的效果
    abc 
     cde
  • 相关阅读:
    jq动画效果
    each循环和节点操作
    jquery的基础语法
    JS作用域
    DOM事件
    js语法一
    socketserver模块与mysql语句(一)
    亲测idea编辑器控制台中文乱码成功的解决方法
    PHP Fatal error: Call to undefined function json_decode()
    PHP <? 标签问题导致不能正确运行代码
  • 原文地址:https://www.cnblogs.com/xiongjiawei/p/7301683.html
Copyright © 2020-2023  润新知