liunx中shell脚本中的变量

本文深入探讨了Shell脚本中的变量定义、使用方法及命令别名设定,讲解了环境、用户与系统级别的变量定义,变量转译技巧,以及如何利用命令执行结果设定变量。同时,介绍了脚本函数的定义和作用。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1.变量的定义

1)定义本身
变量就是内存一片区域的地址
2)变量存在的意义
命令无法操作一直变化的目标
用一串固定的字符来表示不固定的目标可以解决此问题

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

  1. 环境级别
    export a=1
    在环境关闭后变量失效
    在这里插入图片描述

2)用户级别
vim ~/.bash_profile
export a=1
在这里插入图片描述

3)系统级别
vim /etc/profile
export a=2
在这里插入图片描述

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

3.变量的转译

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

2)声明
a=1
echo $ab
echo ${a}b
在这里插入图片描述

3)变量的数组
a=(1 2 3 4 5)
echo ${a[0]}
echo ${a[-1]}
echo ${a[*]}
echo ${a[@]}
echo ${a[@]:0:3}
echo ${#a[@]}
在这里插入图片描述
在这里插入图片描述

4. Linux中命令的别名设定

alias xie=‘vim’ ##临时设定
vim /etc/bashrc ##针对系统所以用户生效
alias xie=‘vim’
unalias xie ##删除当前环境中的alias
在这里插入图片描述

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

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

1)直接利用命令执行结果
KaTeX parse error: Expected 'EOF', got '#' at position 8: ()|`` #̲#优先执行 TEST=`hos…(hostname)
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这两个动作

在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值