Shell-01-变量

时间:2021-08-05
本文章向大家介绍Shell-01-变量,主要包括Shell-01-变量使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。



变量

系统常用变量

#!/bin/bash
echo "默认shell: $SHELL"
echo "当前用户家目录: $HOME"
echo "内部字段分隔符: $IFS"
echo "默认语言: $LANG"
echo "默认可执行程序路径: $PATH"
echo "当前目录: $PWD"
echo "当前用户ID: $UID"
echo "当前用户:  $USER"
echo "历史命令大小: $HISTSIZE"
echo "随机生成一个0-32767的整数: $RANDOM"
echo "主机名称: $HOSTNAME"


#扩展知识
#修改历史命令记录条数大小
vim /etc/profile
HISTSIZE=10000
source /etc/profile


普通变量和临时环境变量

#变量等号两边不建议空格,不然会出问题
#普通变量定义      VAR=value
#临时环境变量定义   export VAR=value


#区别
#在当前shell进程中定义的环境变量,其作用域是当前的shell进程
#当用 export 命令导入到系统环境变量时,则作用域是shell进程以及shell的子进程

不使用export定义变量


使用export定义变量


注意:在执行脚本的时候,会在当前终端会生成一个子shell去执行脚本的命令,而不会直接去执行系统命令



位置变量

位置变量是指的shell脚本或者函数后面跟的 $n 变量

$n 取值范围 $1 $2 $3 ... $9, 从第10个开始需要使用花括号调用 ${10}

shift 命令
执行一次shift命令,位置变量个数就会减一,而变量值会提前一位
也可以理解丢弃当前位置的变量
shift n 可移动n位


特殊变量

$0  脚本自身名字
$?  上一条命令返回的状态码,0为成功,非0则执行失败
$#  位置参数总数
$*  所有的位置参数被看做成一个字符串
$@  所有的位置参数被看做成独立的字符串
$$  当前进程PID
$!  上一条后台运行的进程的PID


变量的引用

=	  变量赋值
+=	两个变量相加(相当于字符串拼接)
    在Shell中所有的变量默认都是字符串型


单引号、双引号、反撇号

`......`
    反撇号等效于 $(......),相当于先执行命令,在把命令返回结果赋值

单引号和双引号之间的差别
  单引号会忽略特殊字符
  
  双引号会解释特殊字符原有的意义 如 $ 、! 等

转载请注明出处哟~ https://www.cnblogs.com/lichengguo

原文地址:https://www.cnblogs.com/lichengguo/p/15102186.html