IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 系统运维 -> Linux系统工程师 4.4 -- shell脚本中的变量 -> 正文阅读

[系统运维]Linux系统工程师 4.4 -- shell脚本中的变量

目录

1.变量的定义

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

?3.变量名称

4.变量的转译

5.Linux中命令的别名设定

?6.用户环境变量的更改

7.变量的指定

8.脚本函数


1.变量的定义

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

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

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

当直接输入a=1后
?? ?echo $1 -->显示1
?? ?sh file.sh 无法显示,因为这是新开了一个shell,不是同一个程序
解决:

##环境级别
export a=1
在环境关闭后变量失效(sehll关闭后所有资源被系统回收)

?

##用户级别
vim ~/.bash_profile?? ?用户环境变量配置文件
export a=1
source ~/.bash_profile?? ?生效当前的更改信息

?

##系统级别
vim /etc/profile
vim /etc/profile.d/westos.sh?? ?设定所有用户都可以使用
export b=2

?

##vim ~/.bash_profile
PATH=$PATH:$HOME/bin:/mnt?? ?指定在执行命令时/mnt中的脚本可以用相对路径调用
source ~/.bash_profile?? ??? ?生效当前的更改信息

?3.变量名称

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

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

建议
变量名称短全用大写字符
变量名称长用_区分子类
WESTOS
Westos_Linux

4.变量的转译

#1)转译

\    #转译单个字符
""    #弱引用,批量转译个数字符 不能转译"\" "`" "$" "!"
''    #强引用,可以引用所有

#2)声明

a=1
echo $ab    直接跟ab无法显示(系统识别$ab为一个变量名称)
echo ${a}b    显示1b    对a变量声明

?

#3)变量的数组

a=(1 2 3 4 5)
a$[a[@]:起始元素id:元素个数]
echo ${a[0]}		##数组中第一个元素:1
echo ${a[1]}		##数组中第二个元素:2
echo ${a[*]}		##数组中所有元素
echo ${a[@]}		##数组中所有元素:1,2,3,4,5
echo ${a[@]:0:3}	##数组中从0号开始往后3个元素:1,2,3
echo ${#a[@]}		##数组中元素的个数:5个

unset a[n]		##删除数组中的第n1个元素
unset a			##删除a这个数组

5.Linux中命令的别名设定

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

?

?6.用户环境变量的更改

设定方式:
~/.bash_profile??????????????? ?????? 修改当前用户
export PATH=$PATH:/mnt?? ? 指定在执行命令时/mnt中的脚本可以用相对路径调用(上文提到)
source ~/.bash_profile?? ??? ? ? 生效当前的更改信息

/etc/bash_profile??????????????????? 修改所有用户

7.变量的指定

#1)直接利用命令执行结果
$()|?? ??? ?##优先执行

?#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 -p "please input word:" WORD	##-P 提示语 word 赋直
echo $WORD
s					##隐藏输入内容

?

8.脚本函数

定义:????????程序的别名
设定方式:

WORD()
{
	action1
	action2
}
WORD 在脚本中就代表action1 action2这两个动作

  系统运维 最新文章
配置小型公司网络WLAN基本业务(AC通过三层
如何在交付运维过程中建立风险底线意识,提
快速传输大文件,怎么通过网络传大文件给对
从游戏服务端角度分析移动同步(状态同步)
MySQL使用MyCat实现分库分表
如何用DWDM射频光纤技术实现200公里外的站点
国内顺畅下载k8s.gcr.io的镜像
自动化测试appium
ctfshow ssrf
Linux操作系统学习之实用指令(Centos7/8均
上一篇文章      下一篇文章      查看所有文章
加:2021-08-17 15:47:33  更:2021-08-17 15:49:57 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年12日历 -2024/12/28 19:59:55-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码
数据统计