当前位置: 首页 > news >正文

shell中的变量

1.变量的定义

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

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

#### 环境级别
export a = 1
在环境关闭后变量失效
#### 用户级别
vim ~/ .bash_profile
export a = 1
#### 系统级别
vim / etc / profile
export a = 2
vim / etc / profile.d / westos.sh
export b = 3
## 变量名称
#### 变量名称可包含的字符
字母
下划线 _
数字
#### 变量名称定义规则
不能用数字开头
#### 建议
变量名称短全用大写字符
变量名称长用 _ 区分子类
WESTOS
Westos_Linux
westoS_Linux

 创建一个脚本打印A这个变量,给A赋值,但脚本执行时采集不到A=1,因为我们只在当前shell中设定了A=1,脚本执行会开启新的shell识别不到,

环境声明后,直到shell关闭

用户级声明

系统级别

3.变量的转译

#1) 转译
\   # 转译单个字符
"" # 弱引用 批量转译个数字符 不能转译 " \ " " " "$" " ! "
' '# 强引用
#2声明
a = 1
echo $ab
echo ${a}b
#3变量的数组
a = ( 1 2 3 4 5 )
a$[a[ @ ] : 起始元素 id : 元素个数 ]
echo ${a[ 0 ]} ## 数组中第一个元素
echo ${a[ 1 ]} ## 数组中最后一个元素
echo ${a[ * ]} ## 数组中所有元素
echo ${a[ @ ]} ## 数组中所有元素
echo ${a[ @ ] : 0 : 3 } ## 数组中 13 个元素
echo ${#a[ @ ]} ## 数组中元素的个数
unset a[n] ## 删除数组中的第 n1 个元素 unset a
## 删除 a 这个数组

转译 

 

声明

数组

* 是一个整体

@是单独的个体

添加和删除数组元素

4.Linux中命令的别名设定

alias xie = 'vim'
## 临时设定
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

 创建一个脚本给予执行权限,我们可以通过绝对路径来执行,但相对路径不行

因为相对路径脚本执行是会在系统环境变量里检索,而mnt目录不在里面,这里面的路径没有westos.sh

 其环境别名设定与 变量环境设定一致

6.变量的高级用法

# 1 ) 直接利用命令执行结果
$() |
## 优先执行
TEST = hostname TEST = $(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
## 隐藏输入内容

 

传参

非交互式

交互式

7.脚本函数 

定义
程序的别名
设定方式
WORD()
{
action1
action2
}
WORD 在脚本中就代表 action1 action2 这两个动作
# 练习脚本 #
sh create_user.sh
Please input username : westos
westos exist < output >> westos is exist > Please input username :
westos not existplease input password : 无回显密码
此用户会自动建立并且密码为提示后设定的密码
并显示 : westos is created
并再次提示 Please input username
Please input username exit
此脚本推出

 


http://www.mrgr.cn/news/49077.html

相关文章:

  • 使用OpenCV处理视频并显示灰度图像
  • 通过多元蒙特卡罗模拟来预测股票价格的日内波动性
  • 文章解读与仿真程序复现思路——电力自动化设备EI\CSCD\北大核心《计及状态量平均超限比的综合能源系统动态能量流双层优化》
  • C++模板初阶速成
  • 分享一些常用的数据库性能监测工具
  • 强基计划揭秘、攻略、机遇全知晓,开启普通学子名校逆袭路
  • Qt-系统文件相关介绍使用(61)
  • GeoScene Pro教程(009):GeoScenePro的空间参考与坐标转换
  • Python Enhancement Proposals,Python 增强提案
  • Python 列表专题:删除元素
  • 【最新华为OD机试E卷-支持在线评测】构成正方形的数量(100分)多语言题解-(Python/C/JavaScript/Java/Cpp)
  • 使用SpringMVC搭建WEB项目时报错404的问题排查解决以及web.xml配置文件init-param行标红问题
  • docker-compose 部属netcore
  • 设计一个多环境配置管理系统的实用指南
  • 第十五章:组织保障(15.1信息和文档管理--15.2配置管理)
  • C++学习笔记----9、发现继承的技巧(一)---- 使用继承构建类(1)
  • Mysql(九) --- 事务
  • AI大师工坊文心智能体:雪季旅行者
  • (33)MATLAB信号分析之信号功率、噪声功率、与信噪比
  • 思迅孕婴童重置1001所有权限的语句