Shell中的变量(定义变量、变量的转译与声明、命令的别名设定、环境变量更改、脚本中的传参)

变量的定义

1.什么是变量

变量就是内存一片区域的地址

2.变量存在的意义

命令无法操作一直变化的目标

用一串固定的字符来表示不固定的目标可以解决此问题

Shell中定义变量的方法

环境级别
export a=1
在环境关闭后变量会失效

在第一个shell中 export a=1,此时可以生效
在这里插入图片描述

在新环境(第二个shell中)查看时,变量定义失效
在这里插入图片描述

用户级别 仅对设置的用户生效
vim ~/.bash_profile
export a=1

vim ~/.bash_profile
在这里插入图片描述

source ~/.bash_profile 此时在两个shell中执行完source命令后,变量都可生效
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

但切换到其他用户时无法使用
在这里插入图片描述

系统级别 所有人可用
vim /etc/profile
export a=1

在这里插入图片描述
在这里插入图片描述

变量名称定义
可使用 “字符” “” “数字” ,不能用数字开头
建议:
变量名称短,全用大写字符
变量名称长,用"
"区分子类
例如:
WESTOS
Westos_dd
Westos_ss

变量的转译与声明

转译
\ #转译单个字符
“” #弱引用,批量转译字符 不能转译 “” “`” “$” “!”
‘’ #强引用
在这里插入图片描述
在这里插入图片描述

声明
a=1
echo $ab
echo ${a}b

a=(ls -l file) #将a定义为命令
echo $a
echo ${a[0]} #查看命令的第0列
echo ${a[3]}
echo ${a[-1]} #查看命令的倒数第一列
echo ${a[*]} #查看命令的全部列(下同)
echo ${a[@]}
在这里插入图片描述
在这里插入图片描述

Linux命令中的别名设定

alias sss=‘cat’ #临时设定

环境1中设定,可用
在这里插入图片描述

切到环境2,gg

在这里插入图片描述

vim ~/.bashrc
alias sss=‘cat’ #只针对用户生效
在这里插入图片描述
在这里插入图片描述

vim /etc/bashrc
alias sss=‘cat’ #针对系统所有用户生效

unalias sss #删除当前环境中的alias
在这里插入图片描述在这里插入图片描述

用户环境变量的更改

环境变量:
用户在操作系统实时用到的命令搜索路径

设定方式:
~/.bash_profile #用户级
export PATH=$PATH:/mnt

/etc/bash_profile #系统级
export PATH=$PATH:/mnt

此时不添加绝对路径就可执行脚本
在这里插入图片描述

脚本中的传参

非交互模式:
$0 is test.sh            $0 是脚本本身
$1 is westos             $1 是脚本后输入的第一串字符,2、3...以此类推
$2 is linux             
$3 is sss
$# is 3                  #  指脚本后输入的所有字符串个数
$* is westos linux sss   $* 指脚本后所输入的所有字符“westos linux sss”
$@ is westos linux sss   $@ 指脚本后所输入的所有字符"westos" "linux" "sss"

在这里插入图片描述

∗ 与 *与 @的区别:

在这里插入图片描述
在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/qq_42958401/article/details/108467479
今日推荐