shell脚本中的变量

1.变量的定义

【1】定义本身
变量就是内存一片区域的地址
【2】变量存在的意义

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

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

【1】环境级别

  • export a=1
  • 在环境关闭后变量失效
    在这里插入图片描述
    在这里插入图片描述
    重新打开一个shell运行test.sh:运行失败
    在这里插入图片描述

【2】用户级别
vim ~/.bash_profile
export a=1

  • 编辑配置文件:
    在这里插入图片描述
    在这里插入图片描述
    在另一个shell中运行tset.sh:运行成功
    在这里插入图片描述

【3】系统级别
在系统里时生效的,除了这个系统外,其余不生效
vim /etc/profile

  • 编辑配置文件:
    在这里插入图片描述
    在这里插入图片描述
    切换用户,可以使用:
    在这里插入图片描述
    切回用户,换一个shell,运行失败,source配置文件,重新运行,运行成功:
    在这里插入图片描述

【4】变量名称
“字符” 或 “_” 或 “数字”
不能用数字开头
建议:变量名称短用大写字符,变量名称长用_区分子类

WESTOS
Westos_Linux
westoS_Linux

在这里插入图片描述

3.变量的转译

【1】转译

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

在这里插入图片描述批量转译:
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

【2】声明

命令(a=1时)实现内容
echo $ab
echo ${a}b1b

在这里插入图片描述

【3】变量的数组
a=(1 2 3 4 5)

echo $a默认第一个
echo ${a[0]}下标为0的表示第一个
echo ${a[3]}下标为3的表示第四个
echo ${a[*]}下标为 * 的表示所有
echo ${a[@]}也表示数组的所有内容
echo ${a[-1]}倒数第一个

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

4.Linux中命令的别名设定

alias xie=‘vim’临时设定
vim ~/.bashrc只针对当前用户生效
vim /etc/bashrc针对系统所有用户生效
unalias xie删除当前环境中的alias

注意:当在当前用户设置,或是在系统中所有用户生效时,必须使用source使之生效

  • 临时设定:
    在这里插入图片描述
    在这里插入图片描述

在这里插入图片描述
该设定为临时设定,退出当前shell后在进入则失效。

  • 只针对当前用户生效
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
  • 让所有用户均可:
    在这里插入图片描述

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

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

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在其他用户中也需要删除:
在这里插入图片描述
在这里插入图片描述

5.用户环境变量的更改

【1】环境变量:
用户在操作系统时使用到的命令搜索路径
【2】设定方式:

~/.bash_profile用户级(家目录下)
/etc/profile系统级

在这里插入图片描述

  • 用户级:
  • 在这里插入图片描述

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

  • 系统级
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述

6.利用命令的执行结果设定变量

【1】直接利用命令执行结果

优先执行表示使用范围
$()在shell中常用的拓展的接口
``通用接口

【2】脚本中的传参
[1] 脚本中的传参

$0脚本本身的名字
$1脚本后所输入的第一串字符
$2传递给该shell脚本的第二个参数
$*脚本后所输入的所有字符"westos linux lyq"
$@脚本后所输入的所有字符’westos’ ‘linux’ ‘lyq’
$_表示上一个命令的最后一个参数
$##脚本后所输入的字符串个数
$$脚本运行的当前进程ID号
$!表示最后执行的后台命令的PID
$?显示最后命令的退出状态,0表示没有错误,其他表示由错误

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

"*""@"的不同:
*:表示"linux westos redhat"
@:表示"linux" "westos" "redhat"

在这里插入图片描述

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

在这里插入图片描述

[2] 交互模式传参:

read WESTOS对westos赋值
read -p “please input word:”输出提示语
read -p “Please input word:” -s隐藏输入内容

7.脚本函数

【1】定义
程序的别名
【2】脚本函数的作用

  • 可以使我们当中的重复的部分进行抽取,抽取后浓缩为一个字符串。这样可以使我们的脚本更加易读,还可以使我们的脚本容量变小。
  • 如果我们需要反复的执行动作的一个组合,除了使用while语句以外,还可以使用这种函数的方式执行起来

【3】设定方式

WORD()
{
action1
action2
}
WORD 在脚本中就代表action1 action2这两个动作
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值