Linux之Shell的变量功能

温馨小提示:

①、同一行可以实现多个命令,多个命令之间使用**“ ; ”**隔开在这里插入图片描述
②、换行输入,在一行中无法输入完全的信息,可以使用“ \ ”来实现下一行继续输入
在这里插入图片描述
③、 “ !! ”表示上一个命令,相当于 ↑ 键,按回车执行

什么是变量?

简单来说,就是让某一个特定的字符串代表不固定的内容
变量就是以一组文字或字符等,来替换一些设置或一串保留的数据

1、定义变量
①、语法:变量名=变量值,注意等号两边不能有空格
案例:为变量a赋值123。可以使用a=123;echo $a
在这里插入图片描述
这种定义的变量为本地变量(局部变量)。以下面的例子来看,当我们打开bash时变量a的值为空
在这里插入图片描述
②、全局变量
在子进程(就是说,在我目前这个shell的情况下,去启动另一个新的shell,新的那个shell就是子进程)中可以使用的变量。
语法:export 变量名=变量值
语法:export 变量名(前提:变量已定义
语法:declare -x 变量名=变量值
在这里插入图片描述
③、单引号
仅能是一般字符,而不会有特殊字符。使用单引号的时候,那么 $a 将失去原有的变量内容,仅为一般字符的显示形式而已。在这里插入图片描述

④、双引号
可以保留变量的信息
在这里插入图片描述

2、变量的输出
语法:echo $变量名 或者 echo ${变量名}
例如:输出环境变量(环境变量通常以大写字符来表示)PATH的内容。可以使用 echo $PATH 或者 echo ${PATH}
在这里插入图片描述
3、取消变量
①、删除变量
语法:unset 变量名
在这里插入图片描述
②、删除环境变量
语法:declare +x 变量名

4、查看变量
①、查看全部已定义的变量(包括全局变量【环境变量】、局部变量【自定义变量】)
语法:set
在这里插入图片描述

②、查看环境变量(全局变量)用户登录的时候,就是给环境变量赋值的时候。如:HOME,USER等)
语法:env 或者 export [-p]
在这里插入图片描述
在这里插入图片描述HISTSIZE:表示历史命令被记录的最大条数(默认是1000条)
PATH:表示执行文件查找的路径
LANG:(重点)语系数据
RANDOM:表示随机数(范围0~32767)(文件路径 /dev/random )。

案例:获取0~9的随机数
declare -i number=$RANDOM*10/32768
在这里插入图片描述

5、PS1(提示字符的设置)
输入命令前的 [] 中的显示内容
语法:echo $PS1
在这里插入图片描述“ \u ”表示(username)用户
“ \h ”表示(hostname)主机名
“ \w ”表示完整的工作目录名称,根目录会以 ~ 代替
“ \T ”表示时间格式【HH:MM:SS】时分秒格式
“ \F ”表示时间格式【YY:MM:DD】年月日格式
“ \W ”表示(working directory)工作路径,仅会列出最后一个目录名
“ # ”表示执行的第几个命令

案例:修改PSI的值使其显示全部的路径
语法:PSI=“[\u@\h \w]$”(“ \w ”表示详细的路径)
在这里插入图片描述
6、PS2
当一行显示不下时“ \ ”后第二行显示的符号 “ > ”
在这里插入图片描述
7、变量?
表示查看上一个执行的命令所返回的值
在这里插入图片描述变量 $ 表示关于本shell的PID

8、查看系统支持的编码
其实整体系统默认的语系定义文件位置:/etc/locale.conf
语法:locale -a
在这里插入图片描述当你有设置LANG或者设置LC_ALL时,则其他的语系变量就会被这两个变量所替代,所有通常仅设置LANG和LC_ALL这两个变量即可。

9、读取键盘输入变量
语法:read [-pt] 变名,“ -p ”表示后面可以接提示字符;“ -t ”表示后面可以接等待的秒数
在这里插入图片描述
10、声明变量类型(declare/typeset)
①、语法:declare [-aixr] 变量名
“ -a ”表示(array)将后面的变量定义为数组类型;
“ -i ”表示(int)将后面的变量定义为整型;
“ -x ”表示(export)将后面的变量定义为环境变量;
“ +x ”表示将变量定义为局部变量;
“ -r ”表示(readonly)将变量设置为只读,不允许修改,也不允许unset(删除,如果不小心设置为只读,需要注销再登录才能恢复变量的类型)。

注意:变量类型默认为字符串;bash环境中的数值运算,默认最多仅能到达整数类型
在这里插入图片描述
案例:将变量yy设置为只读,不允许修改
在这里插入图片描述
11、数组类型
语法:var[index]=content,var表示数组名,index表示数组下标,content表示数组内容
案例:设置一个数组定义其内容为red、blue、black、green
在这里插入图片描述
12、限制关系
为了避免操作系统由于工作量过大二挂掉,需要限制用户的某些资源,包括可以开启的文件数量,可以使用的CPU时间,可以使用的内容总量。
语法:ulimit [-SHacdltu] [配额]
“ -S ”表示(soft limit)警告的设置
“ -H ”表示(hard limit)严格的设置
“ -a ”表示后面不接受任何选项和参数
“ -c ”表示当某些程序错误时,系统会把内容写成文件
“ -f ”表示可以建立的最大文件容量(一般为2GB)
“ -d ”表示程序可以使用的最大段内存容量
“ -l ”表示可用于锁定的内存量
“ -t ”表示可以使用的最大CPU时间
“ -u ”表示单一使用者可以使用最大进程数量
在这里插入图片描述
案例:限制使用者仅能建立10MBytes以下的容量的文件
语法:ulimit -f 10240

想要恢复ulimit的设置最简单的方法就是注销再登录,否则就是得要以ulimit设置才行。

13、别名机制
①、设置别名(切换用户就会取消所有设置的别名
语法:alias 别名=‘命令 [选项]’
在这里插入图片描述

②、取消别名
语法:unalise 别名

③、自定义永久别名
文件位置 ~/.bashrc
在这里插入图片描述

注意:如果需要

14、历史命令
语法:history [n] [-c] [-raw] histfiles
“ n ”表示列出最近n条命令
“ -c ”表示将目前shell中的所有命令清除
“ -a ”表示将目前新增的命令增加到 histfiles 中,若没有则写入~/.bash_history
“ -r ”表示将 histfiles 中的命令写入shell的 history 中
“ -w ”表示将 shell的history 中的命令写入 histfiles 中
在这里插入图片描述

  • 4
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值