Linux-shell的变量


什么是变量,某一个特定的字符串来代表不固定的内容。
shell变成就像C, java一样也是一种语言。
使用变量主要是为了方便。
在Linux中 ~是一个变量,在不同的用户下~所代表的不一样。

在这里插入图片描述

影响bash环境的变量

成功登录,使⽤shell;
获得bash运⾏程序;
系统通过⼀些变量来提供数据的存取,或⼀些环境的配置参数值;
将环境变量读⼊系统;
PATH、HOME、HOSTNAME、SHELL;
环境变量通常⼤写(非强制)
linux是一个多用户的操作系统,每个用户登录系统之后,都会有一个专用的运行环境。通常每个用户默认的环境都是相同的,这个默认的环境实际上就是一组环境变量的定义。用户可以对自己的运行环境进行定制,其方法就是修改相应的系统环境变量。
在linux中,环境变量一般用大写加下划线命名。环境变量就相当于一个指针,当我们要查看指针所指向的值的时候需要解引用,同样的,当我们要想查看环境变量里面的值的时候,需要在前面加$引用。
是一种全局变量,存在所有的shell中,在登录的时候就有系统定义的环境变量了。linux的环境变量具有继承性,即shell会继承父shell的环境变量。

变量的显示与配置

显示

显⽰:echo
echo $HOME 或 echo ${HOME}
在这里插入图片描述

配置

配置变量内容:=
myname=teacher

在这里插入图片描述
1.变量与变量内容以⼀个等号”=”进⾏连接:

myname=teacher 
  1. 等号两边不能有空格符,错误示例:
myname = teacher 
  1. 变量名称只能是英⽂字⺟与数字,但是开始的字
    符不能是数字,错误示例:
2myname=teacher
  1. 变量内容中如果有空格符,可以使⽤双引号”或者单引号’,将变量内容结合起来,但两者存在区别:
    双引号内的特殊字符,如$等,可以保持原有的特性:
    var="lang is $LANG”; echo $var
    lang is zh_CN.UTF-8
    单引号内的特殊字符
    var=‘lang is $LANG’; echo $var
    lang is $LANG
    在这里插入图片描述
    双引号可以将引号内的内容进行转意。
    双引号可以经引号内的内容直接赋值。

  2. 可⽤斜杠”\”,将特殊符号(如$、空格符、’等)变成⼀般字符:
    在这里插入图片描述

  3. 其他命令的返回值作为变量值的情况,可以使⽤cmd或$(cmd),如:

version=$(uname -r)
echo $version 
5.8.0-50-generic

在这里插入图片描述

  1. 如果需要增加变量的内容,则可以使⽤ v a r 或 var或 var{var}累加内
    容,如:
    PATH=“$PATH”:/home/bin
    在这里插入图片描述
    在这里插入图片描述

  2. 如果该变量需要运⾏与其他⼦程序,则需要以
    export来使变量成为环境变量:

  3. 通常⼤写字符为系统默认变量,⾃⾏配置的变
    量尽量使⽤⼩写字符,⽅便判断,⾮强制

  4. 取消变量使⽤unset,unset var,如:
    unset myname

别名

别名的意义:

  1. 简化⽐较⻓的惯⽤命令;
  2. 限制导致严重后果命令的执⾏;
  3. ⽀持⽤户使⽤习惯。
    alias [别名]=“命令”
alias lm="ls -al"

在这里插入图片描述

alias可以查看alias文件中的内容

在这里插入图片描述
unalias [别名]删除别名。

unalias lm

在这里插入图片描述

历史

⽤法:
history [n]
history [-c]
history [-raw] hisfiles
参数/选项:
n: 数字,列出最近n条历史命令;
-c: 将⽬前shell的所有历史命令清除;
-a: 将⽬前新增的history命令追加到histfiles中;如果没有指定histfiles,默认写⼊~/.bash_history;
在这里插入图片描述

-r: 将.bash_history中的内容读到⽬前shell的histroy中;
-w: 将⽬前history所记录的内容写⼊.bash_history。

历史命令读取和记录的过程

登陆,从~/.bash_history读取;
数量: HISTSIZE; (是一个环境变量)
在这里插入图片描述

登出: 更新~/.bash_history;
history -w。

两个! 运行上一条命令
![number] 运行行数为number的命令(!和数字之间不可以有空格)
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值