shell脚本中的变量

1. 变量的定义

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

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

1).环境级别

‘export a=1’

在环境关闭后变量失效’(退出当前环境时系统会清理内存‘export a=1’会被清理)因此脚本执行失效

2).用户级别
‘vim ~/.bash_profile’
‘export a=1’

以上的声明方式是临时的,当此 shell 关闭再开启时,或者打开另外一个 shell 时,变量的声明都不会生效;

[root@westoslinux mnt]# vim ~/.bash_profile

[root@westoslinux mnt]# source ~/.bash_profile

3).系统级别

切换用户之后脚本失效

 

 [root@westoslinux ~]# source /etc/profile.d/a.sh

 对于系统级别的环境变量设定的查看,可以用命令 env 来进行查看。

3.变量名称

1).变量名称可包含的字符
字母
下划线_
数字

2).变量名称定义规则
不能用数字开头

 建议:
变量名称全用大写字符,当变量名称比较长时变量名称常用_区分子类;
WESTOS
Westos_Linux
westiS_Linux

4. 变量的转译

1).转译

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

 2).声明

 3).变量的数组

[root@westoslinux ~]# a=(1 2 3 4 5)

[root@westoslinux ~]# echo $a

[root@westoslinux ~]# echo ${a[0]}

[root@westoslinux ~]# echo ${a[1]}

[root@westoslinux ~]# echo ${a[-1]}

[root@westoslinux ~]# echo ${a[-2]}

[root@westoslinux ~]# echo ${a[@]}

[root@westoslinux ~]# echo ${a[*]}

 [root@westoslinux ~]# echo ${a[@]:2:2}

 [root@westoslinux ~]# echo ${#a[@]}

[root@westoslinux ~]# a[6]=7

[root@westoslinux ~]#  echo ${a[6]}

[root@westoslinux ~]#  echo ${a[@]}

[root@westoslinux ~]# unset a[2]

[root@westoslinux ~]#  echo ${a[@]}

[root@westoslinux ~]# unset a

[root@westoslinux ~]#  echo ${a[@]}

5. Linux 中命令的别名设定

1).临时设定
alias xie=‘vim’

2).用户级别
vim ~/.bashrc
alias xie=‘vim’ ##只针对此用户生效

3).系统级别
vim /etc/bashrc ##针对系统的所有用户生效
alias xie=‘vim’

[root@westoslinux ~]# vim /etc/bashrc

[root@westoslinux ~]# source /etc/bashrc

4).删除
unalias xie ##删除当前环境中的alias

6. 用户环境变量的更改

1).用户级别

[root@westoslinux mnt]# vim ~/.bash_profile

2).系统级别

[root@westoslinux mnt]# vim /etc/profile.d/path.sh

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

TEST=‘hostname` 等同于TEST=$(hostname)

4).脚本中的参数

非交互模式:没有回应直接给出结果

[root@westoslinux mnt]# vim wesstos.sh

[root@westoslinux mnt]# sh westos.sh

 [root@westoslinux mnt]# sh wesstos.sh westos redhat linux

 交互模式传参:有回应
read WESTOS ##对westos赋值
read -p “please inout word:” ##输出提示语

7. 脚本函数

定义:程序的别名

设定方式:
WORD()
{
action1
action2
}

WORD 在脚本中就代表action1 action2这两个动作

[root@westoslinux mnt]# vim test.sh

 [root@westoslinux mnt]# sh test.sh

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

黑 哲

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值