从零学习Linux操作系统第二十七部分 shell脚本中的变量

2024-02-23 00:12

本文主要是介绍从零学习Linux操作系统第二十七部分 shell脚本中的变量,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

一、什么是变量

变量的定义

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

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

二、变量的类型及命名规范

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

退出后 关闭
在这里插入图片描述

用户级别(永久的设定变量)
vim ~/.bash_profile
export A=1

在这里插入图片描述
source ~/.bash_profile 生效

在这里插入图片描述

系统级别(所有的用户都可以读取到这个变量)
vim /etc/profile
export A=1
vim /etc/profile.d/A.sh
export B=3

在这里插入图片描述
此时用其他用户也可以生效
在这里插入图片描述

变量名称

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

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

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

三、变量的转译声明及数组

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这个数组
在这里插入图片描述

四、命令别名及用户环境的设定

查看命令的别名
alias
在这里插入图片描述
永久设定命令别名
编辑配置文件
vim ~/.bashrc
在这里插入图片描述
source ~/.bashrc 使之生效

在这里插入图片描述
在这个文件内编辑的只是当前的用户可以使用
若使在全体用户中可以使用则
编辑系统级的配置文件
vim /etc/bashrc
在这里插入图片描述
source /etc/bashrc 使之生效

若要删除这个命令别名
需将系统级和用户级的配置文件中的命令别名删掉
并且执行
unalias xie 删除当前环境中的alias

用户环境变量的更改
用户级:编辑配置文件
vim ~/.bash_profile
在这里插入图片描述
在这里插入图片描述
系统级:编辑配置文件
vim /etc/profile.d/path.sh
在这里插入图片描述

五、变量的高级用法

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

$()| ##优先执行
或者··
在这里插入图片描述

2)脚本中的传参

传参:将脚本外部的内容传递给脚本内部

非交互模式:

创建一个脚本
vim westos.sh
在这里插入图片描述

在这里插入图片描述

交互式

编辑一个脚本
vim westos1.sh
在这里插入图片描述
在这里插入图片描述

七、脚本函数

定义:
程序的别名(脚本当中的脚本就叫函数)

先编辑一个脚本
vim westos2.sh
在这里插入图片描述
ACTION 是一个函数
也就是脚本当中的脚本

相当于是给ACTION赋了一个值,而这个值是命令脚本在这里插入图片描述

练习脚本

sh create_user.sh
Please input username: westos
westos exist> westos is exist>Please input username:
westos not existplease input password: 无回显密码
此用户会自动建立并且密码为提示后设定的密码
并显示:westos is created
并再次提示Please input username:
当Please input username:exit
此脚本退出

在这里插入图片描述

这篇关于从零学习Linux操作系统第二十七部分 shell脚本中的变量的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/736946

相关文章

Linux磁盘分区、格式化和挂载方式

《Linux磁盘分区、格式化和挂载方式》本文详细介绍了Linux系统中磁盘分区、格式化和挂载的基本操作步骤和命令,包括MBR和GPT分区表的区别、fdisk和gdisk命令的使用、常见的文件系统格式以... 目录一、磁盘分区表分类二、fdisk命令创建分区1、交互式的命令2、分区主分区3、创建扩展分区,然后

Linux中chmod权限设置方式

《Linux中chmod权限设置方式》本文介绍了Linux系统中文件和目录权限的设置方法,包括chmod、chown和chgrp命令的使用,以及权限模式和符号模式的详细说明,通过这些命令,用户可以灵活... 目录设置基本权限命令:chmod1、权限介绍2、chmod命令常见用法和示例3、文件权限详解4、ch

Linux内核之内核裁剪详解

《Linux内核之内核裁剪详解》Linux内核裁剪是通过移除不必要的功能和模块,调整配置参数来优化内核,以满足特定需求,裁剪的方法包括使用配置选项、模块化设计和优化配置参数,图形裁剪工具如makeme... 目录简介一、 裁剪的原因二、裁剪的方法三、图形裁剪工具四、操作说明五、make menuconfig

Linux使用nohup命令在后台运行脚本

《Linux使用nohup命令在后台运行脚本》在Linux或类Unix系统中,后台运行脚本是一项非常实用的技能,尤其适用于需要长时间运行的任务或服务,本文我们来看看如何使用nohup命令在后台... 目录nohup 命令简介基本用法输出重定向& 符号的作用后台进程的特点注意事项实际应用场景长时间运行的任务服

什么是cron? Linux系统下Cron定时任务使用指南

《什么是cron?Linux系统下Cron定时任务使用指南》在日常的Linux系统管理和维护中,定时执行任务是非常常见的需求,你可能需要每天执行备份任务、清理系统日志或运行特定的脚本,而不想每天... 在管理 linux 服务器的过程中,总有一些任务需要我们定期或重复执行。就比如备份任务,通常会选在服务器资

Linux限制ip访问的解决方案

《Linux限制ip访问的解决方案》为了修复安全扫描中发现的漏洞,我们需要对某些服务设置访问限制,具体来说,就是要确保只有指定的内部IP地址能够访问这些服务,所以本文给大家介绍了Linux限制ip访问... 目录背景:解决方案:使用Firewalld防火墙规则验证方法深度了解防火墙逻辑应用场景与扩展背景:

java如何调用kettle设置变量和参数

《java如何调用kettle设置变量和参数》文章简要介绍了如何在Java中调用Kettle,并重点讨论了变量和参数的区别,以及在Java代码中如何正确设置和使用这些变量,避免覆盖Kettle中已设置... 目录Java调用kettle设置变量和参数java代码中变量会覆盖kettle里面设置的变量总结ja

Perl 特殊变量详解

《Perl特殊变量详解》Perl语言中包含了许多特殊变量,这些变量在Perl程序的执行过程中扮演着重要的角色,:本文主要介绍Perl特殊变量,需要的朋友可以参考下... perl 特殊变量Perl 语言中包含了许多特殊变量,这些变量在 Perl 程序的执行过程中扮演着重要的角色。特殊变量通常用于存储程序的

如何使用 Bash 脚本中的time命令来统计命令执行时间(中英双语)

《如何使用Bash脚本中的time命令来统计命令执行时间(中英双语)》本文介绍了如何在Bash脚本中使用`time`命令来测量命令执行时间,包括`real`、`user`和`sys`三个时间指标,... 使用 Bash 脚本中的 time 命令来统计命令执行时间在日常的开发和运维过程中,性能监控和优化是不

bat脚本启动git bash窗口,并执行命令方式

《bat脚本启动gitbash窗口,并执行命令方式》本文介绍了如何在Windows服务器上使用cmd启动jar包时出现乱码的问题,并提供了解决方法——使用GitBash窗口启动并设置编码,通过编写s... 目录一、简介二、使用说明2.1 start.BAT脚本2.2 参数说明2.3 效果总结一、简介某些情