Linux 变量($var)的基本使用

一、变量概念

  • 概念:变量就是一个字符串,可以指向一个内容,该内容可以是路径、命令、数字、字符串等...
  • 变量分类:预定义变量、环境变量、自定义变量、位置变量

二、预定义变量

预定义变量

  • $? 最后一次执行的命令的返回状态。如果这个变量的值为0,则证明上一条命令正确执行;如果这个变量的值为非0,则证明上一条命令执行错误
  • $$ 当前进程的进程号(PID)
  • $! 后台运行的最后一个进程的进程号(PID)   
  • $# 位置参数的数量
  • $* 所有位置参数的内容
  • $@ 所有的参数
  • $* 和 $@ 的区别:$@和$*在无引号时效果一样,都是代表数组中的所有参数,$@被引号引起来不变,$*被引号引起来是一段字符串

1)$?

[root@localhost opt]# ls
[root@localhost opt]# echo $?
0

2)$$  

[root@localhost opt]# vim variable.sh 
#!/bin/bash
echo "The current process is $$" 
#输出当前进程的PID 
#这个PID就是variable.sh脚本执行时生成的进程的PID

3) $!

[root@localhost opt]#  sleep 3000 & 
[1] 12165 
#符号"&"的意思是把命令放入后台执行 
[root@localhost opt]#  echo $!
12165

4)$#、$@、$* 

[root@master srv]# cat test.sh
#! /bin/env bash
echo $#
echo $@
echo $*
[root@master srv]# sh test.sh 1 2 3
3
1 2 3
1 2 3

5) $@和$*的区别 

[root@master srv]# sh test.sh 1 2 3
3
1 2 3
1 2 3
[root@master srv]# sh test.sh "1 2 3"
1
1 2 3
1 2 3

三、环境变量 

环境变量

  •         shell在开始执行时已经定义好的 
  •         env 查看所有环境变量
  •         set 查看所有变量 
  •                 环境变量拥有可继承性:export之后就拥有继承性
  •         export 导出变量(作用范围) 

1)临时生效

[root@slave conf.d]# jk=girl
[root@slave conf.d]# echo $jk
girl

2)永久生效

        写到4个登陆脚本中 ~/.bashrc ~/profile 更好放在/etc/profile.d/* 下建立独立的环境变量配置文件 

        常用环境变量:USER UID HOME HOSTNAME PWD PS1 PATH

        PATH:存储所有命令所在的路径

 

四、自定义变量 

自定义变量
定义:变量名称=值

  • 变量名称:只能由字母,数字,下划线组成,不能以数字开头;
  • 注意:应该让变量名称有意义;
  • = :赋值符号 前后不能有空格;
  • 值: 所有的字符串和数字都可以;
  • 引用变量: $变量名 或 ${变量名}。

例:

[root@localhost opt]#  a=100
[root@localhost opt]# echo $a
100
[root@localhost opt]# echo $aa
# 这里输出为空,因为解释器认为$aa是变量
[root@localhost opt]# echo ${a}a
100a
  • 查看变量: echo $变量名
  • set(所有变量:包括自定义变量和环境变量)
  • 取消变量: unset 变量名 仅在当前shell中有效
  • 作用范围: 仅在当前shell中生效

五、位置变量

 $0 $1 $2 $ 3 $4 $5 $6 $7 $n

[root@master srv]# cat test.sh 
#!/bin/bash
#...
echo 我的第一个位置参数是:$1 
echo 我的第二个位置参数是:$2 
echo 我的第三个位置参数是:$3 
echo 我的第四个位置参数是:$4 
echo 一共有 $# 个位置参数 
echo 你输入的参数分别是:$*
[root@master srv]# sh test.sh 1 2 3 4 5
我的第一个位置参数是:1
我的第二个位置参数是:2
我的第三个位置参数是:3
我的第四个位置参数是:4
一共有 5 个位置参数
你输入的参数分别是:1 2 3 4 5
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值