Linux基本操作-bash变量
推荐
在线提问>>
一、命名别名alias别名='原命令'
#设定命令别名
alias
#查询命令别名
命令执行时顺序:
1第一顺位执行用绝对路径或相对路径执行的命令。
2第二顺位执行别名。
3第三顺位执行Bash的内部命令。
4第四顺位执行按照$PATH环境变量定义的目录查找顺序找到的第一个命令。
让别名永久生效
vim~/.bashrc
删除别名
unalias别名
二、shell基础
什么是shellShell是一个命令行解释器,它为用户提供了一个向Linux内核发送请求以便运行程序的界面系统级程序,用户可以用Shell来启动、挂起、停止甚至是编写一些程序。
shell分类BourneShell:从1979起Unix就开始使用BourneShell,BourneShell的主文件名为sh。
CShell:CShell主要在BSD版的Unix系统中使用,其语法和C语言相类似而得名。
Shell的两种主要语法类型有Bourne和C,这两种语法彼此不兼容。Bourne家族主要包括sh、ksh、Bash、psh、zsh;C家族主要包括:csh、tcsh
Bash:Bash与sh兼容,现在使用的Linux就是使用Bash作为用户的基本Shell。(这也是咱们主要使用的)
Linux支持的shell/etc/shells
三、Bash的变量用户自定义变量
1.什么是变量?
变量是计算机内存的单元,其中存放的值可以改变。当Shell脚本需要保存一些信息时,如一个文件名或是一个数字,就把它存放在一个变量中。每个变量有一个名字,所以很容易引用它。使用变量可以保存有用信息,使系统获知用户相关设置,变量也可以用于保存暂时信息。
2.变量设置规则
--变量名称可以由字母、数字和下划线组成,但是不能以数字开头。如果变量名是“2name”则是错误的。--在Bash中,变量的默认类型都是字符串型,如果要进行数值运算,则必须指定变量类型为数值型。--变量用等号连接值,等号左右两侧不能有空格。--变量的值如果有空格,需要使用单引号或双引号包括。--在变量的值中,可以使用“\”转义符。--如果需要增加变量的值,那么可以进行变量值的叠加。不过变量需要用双引号包含“$变量名”或用${变量名}包含。--如果是把命令的结果作为变量值赋予变量,则需要使用反引号或$()包含命令。--环境变量名建议大写,便于区分。
3.变量分类
-用户自定义变量环境变量:这种变量中主要保存的是和系统操作环境相关的数据。
-位置参数变量:这种变量主要是用来向脚本当中传递参数或数据的,变量名不能自定义,变量作用是固定的。
-预定义变量:是Bash中已经定义好的变量,变量名不能自定义,变量作用也是固定的。
本地变量(用户自定义变量)
变量定义name="shenchao"
变量叠加
aa=123
aa="$a"456
变量调用
echo$name
变量查看
set
查看当前系统全部变量
变量删除
unsetname
环境变量
1.环境变量是什么?
用户自定义变量只在当前的Shell中生效,而环境变量会在当前Shell和这个Shell的所有子Shell当中生效。如果把环境变量写入相应的配置文件,那么这个环境变量就会在所有的Shell中生效。
tips:pstree是以树结构显示进程
2.设置环境变量
export变量名=变量值#申明变量
env#查询变量
unset变量名#删除变量
环境变量配置文件
1、source命令
source~/.bashrc(重新加载.bashrc文件)
2、环境变量配置文件简介
环境变量配置文件中主要是定义对系统的操作环境生效的系统默认环境变量,比如PATH、HISTSIZE、PS1、HOSTNAME等默认环境变量。
/etc/profile
/etc/profile.d/*.sh
~/.bash_profile
~/.bashrc
/etc/bashrc
tips:
/etc目录下的对所有用户都生效;
~/.bash_profile和~/.bashrc->每个用户自己的配置文件,只对用户生效。
3.其他配置文件和登陆信息
Shell登录信息:
本地终端欢迎信息:/etc/issue
远程终端欢迎信息:/etc/#
转义符在/etc/#文件中不能使用
是否显示此欢迎信息,由ssh的配置文件/etc/ssh/sshd_config决定,加入“Banner/etc/#”行才能显示(记得重启SSH服务)
注:本文部分文字和图片来源于网络,如有侵权,请联系删除。版权归原作者所有!此页面下方声明无效!