shell脚本中的变量及应用

本文详细介绍了Shell脚本中的变量定义、环境级别与用户级别的设置,以及变量转译和声明的方法。讲解了数组的使用,包括访问元素和截取部分元素。还探讨了命令别名设定,如如何在用户和系统级别设置,并展示了如何删除别名。此外,文章阐述了脚本参数传递,包括非交互模式下的传参。最后,提到了脚本函数的定义和使用,通过示例展示如何实现交互式的参数交换功能。
摘要由CSDN通过智能技术生成

1.变量的定义

1)定义本身
变量就是内存一片区域的地址

2)变量存在的意义
命令无法操作一直变化的目标
用一串固定的字符来表示不固定的目标可以解决此问题

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

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

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

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

4)变量名称
“字符” “_” “数字”
不能用数字开头
建议:
变量名称短全用大写字符
变量名称长用_区分子类
WESTOS
Westos_Redhat
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[@]}
create_user.sh userfile
userfile用的用户会被全部建立
在这里插入图片描述
判断文件内容是否为空;
是否在root用户下进行操作;
for循环创建文件中的用户

在这里插入图片描述

4.Linux中命令的别名设定

alias xie=‘vim’ ##临时设定

在这里插入图片描述

输入命令xie即进入
在这里插入图片描述

vim ~/.bashrc
alias xie=‘vim’ ##只针对与用户生效

在这里插入图片描述

vim /etc/bashrc ##针对系统所以用户生效
alias xie=‘vim’

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

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

在这里插入图片描述

5.用户环境变量的更改

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

设定方式:
~/.bash_profile
export PATH=$PATH:/mnt

在这里插入图片描述

/etc/bash_profile
export PATH=$PATH:/mnt

在这里插入图片描述

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

1)直接利用命令执行结果

$()|``		##优先执行
TEST=`hostname` TEST=$(hostname)

2)脚本中的传参
非交互模式:

sh /mnt/test.sh westos linux redhat
$0 is /mnt/test.sh脚本本身
$1 is westos脚本后所输入的第一串字符
$2 is linux脚本后所输入的第二串字符
$2 is linux脚本后所输入的第三串字符
$* 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隐藏输入内容

在这里插入图片描述

在这里插入图片描述

7.脚本函数

定义:
程序的别名

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

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

sh脚本文件时,交互传参中输入linux返回westos,输入westos返回linux,输入exit退出

在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值