shell脚本中的变量

1.变量的定义

1)定义本身

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

2)变量存在的意义

命令无法操作一直变化的目标,用一串固定的字符来表示不固定的目标可以解决此问题

2.shell脚本中变量的定义方法

环境级别

1)环境级别
b=1
echo $b
vim test.sh
sh test.sh
. test.sh

在环境关闭后变量失效

在这里插入图片描述

用户级别(只针对当前用户生效)

vim ~/.bash_profile export a=1

source .bash_profile 使配置文件生效

在这里插入图片描述在这里插入图片描述切换用户后,再次运行test.sh脚本显示结果为空,这是因为编辑 ~/.bash_profile文件声明的变量是用户级别的变量,当切换到另一用户时变量失效
在这里插入图片描述

系统级别

1.在/etc/profile配置文件中进行系统级别的传参
vim /etc/profile
export b=1
source /etc/profile 使文件生效

在这里插入图片描述

2.自定义子配置文件
vim /etc/profile.d/test.sh
export b=1

在这里插入图片描述

变量名称

4)变量名称
“字符” “_” “数字”
不能用数字开头u
建议:
变量名称短全用大写字符
变量名称长用_区分子类
WESTOS
Westos_Linux
westoS_Linux

env --查看所有系统变量
unset --删除变量

3.变量的转译

3.1转译

\ 转译单个字符
" " 弱引用,批量转译个数字符 不能转译"" “`” “$” “!”
’ ’ 强引用

\:转译单个字符
在这里插入图片描述在这里插入图片描述

在这里插入图片描述

3.2 声明

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

在这里插入图片描述

3.3变量的数组

echo $a:默认显示数组a的第一个元素
echo ${a[0]} :显示数组中第一个元素,以此类推
echo ${a[-1]}: 显示数组中最后一个元素
echo ${a[*]} 和echo ${a[@]} :显示数组中所有元素
echo ${#a[@]} :显示数组中元素的个数
echo ${a[@]:起始元素id:元素个数]} :显示数组中以起始元素为首的指定个数的元素(注意:这里起始元素id不能为负值
unset a[n] 删除数组中的第n个元素
unset a 删除a这个数组

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

4.Linux中命令的别名设定

alias xie=‘vim’ ##临时设定
vim ~/.bashrcnn ## 用户级shell配置文件
alias xie=‘vim’ ##只针对与用户生效

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

vim /etc/bashrc ##针对系统所以用户生效
alias xie=‘vim’
unalias xie ##删除当前环境中的alias

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

5.用户环境变量的更改

设定方式:
~/.bash_profile
export PATH= P A T H : / m n t / e t c / b a s h p r o f i l e e x p o r t P A T H = PATH:/mnt /etc/bash_profile export PATH= PATH:/mnt/etc/bashprofileexportPATH=PATH:/mnt

1)直接利用命令执行结果
$()| ##优先执行

在这里插入图片描述

2)脚本中的传参
非交互模式:
$0 is /mnt/test.sh <!脚本本身>
$1 is westos <!脚本后所输入的第一串字符>
$2 is linux
$3 is redhat
$* is westos linux redhat <!脚本后所输入的所有字符"westos linux redhat">
$@ is westos linux redhat <!脚本后所输入的所有字符’westos’ ‘linux’ ‘redhat’>
$# is 3 <!脚本后所输入的字符串个数>

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

交互模式传参:
read WESTOS ##对westos赋值
read -p “please input word:” ##输出提示语
-s ##隐藏输入内容

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

6.脚本函数

定义:
程序的别名
设定方式:
WORD()
{
action1
action2
}
WORD 在脚本中就代表action1 action2这两个动作
在这里插入图片描述

  • 2
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值