Linux运维之shell变量.md

我们知道shell里面有许多变量,比如我们经常会用到的path变量,它的作用就是,它的作用是设置可执行文件的目录,这样输入命令的时候就不用使用绝对路径了。除此之外,shell还有许多其他的变量。今天,来和大家讨论下shell变量。

分类

我们知道,php里面有局部变量和全局变量的区分,shell里面和php非常类型,有环境变量、普通变量。环境变量一般用于定义shell的运行环境,而普通变量则经常用于编写shell脚本中。

环境变量和普通变量的区别是和php的变量非常类似:区别都是使用范围的不同,shell的环境变量可以在当前shell以及衍生的shell的使用,而普通变量只能在当前shell使用。环境变量通常使用大写,普通变量通常使用小写。

环境变量

查看当前所有的环境变量,使用env(environment)命令即可

# envXDG_SESSION_ID=38135HOSTNAME=iz8vb626ci0aehwsivxaydzTERM=xtermSHELL=/bin/bashHISTSIZE=1000SSH_CLIENT=114.106.186.229 31955 22QTDIR=/usr/lib64/qt-3.3……

另外还可以用set命令来查看,但是该命令会列出所有环境变量以及普通变量。一般的,环境变量都使用大写的字母来表示。

设置及取消环境变量

用户自定义设置环境变量的方式如下

export 变量名=变量值

如想取消环境变量,则可以使用unset命令来完成

unset 变量名

下面来演示一下:

# export HOBBY=basketball# env | grep HOBBYHOBBY=basketball# unset HOBBY# env | grep HOBBY

变量的打印与设置

linux下有一个echo命令,使用方法和php是一样的,都是用来打印一段文本。

# echo hello,worldhello,world# echo -e "$PWDn$PATH"/root/usr/lib64/qt-3.3/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/root/bin

变量的设置规则,

变量名=变量内容

注意”=”两边都不能有空格

变量名称只能是字母和数字,另外首个字符不能是数字

一览运营宝 一览运营宝

一览“运营宝”是一款搭载AIGC的视频创作赋能及变现工具,由深耕视频行业18年的一览科技研发推出。

一览运营宝 41 查看详情 一览运营宝

变量内容若有空格,需要使用引号(单引号、双引号)将变量内容阔起来,如name=”lebron james”。双引号里可以解析变量。

若有特殊字符,可以使用来转义,如enter、’、”等特殊字符

如想使用命令结果作为变量内容,可以使用$(命令)或命令;

若想扩展变量内容,可以使用”{$变量}累加内容”

array

和php一样,shell变量也有数组类型。数组的定义语法如下:

变量名=(val1 val2 ... valn);arr=(paul james durant)

打印数组元素语法如下

echo ${arr[元素下标]}# echo ${arr[0]}paul# echo ${arr[1]}james

打印数组所有的元素

echo ${arr[@]}

打印数组的长度

echo ${#arr[@]}

打印数组元素的长度

echo ${#arr[数组下标]}

打印数组的部分元素 ${lnmp[@]:n1:n2} n1表示开始,n2表示长度

# 打印所有元素# echo ${lnmp[@]}linux nginx mysql php# echo ${lnmp[@]:0}linux nginx mysql php # 打印从第二个元素开始的所有值# echo ${lnmp[@]:1}nginx mysql php # 打印第一个值和第二个值# echo ${lnmp[@]:0:2}linux nginx # 打印第二个值和第三个值# echo ${lnmp[@]:1:2}nginx mysql

数组的赋值、替换、删除

#追加元素# lnmp[${#lnmp[@]}]=apache# echo ${lnmp[@]}linux nginx mysql php apache # 修改元素# lnmp[0]=l# echo ${lnmp[@]}linux nginx mysql php # 删除元素unset lnmp[0]unset lnmp[1]unset lnmp

以上就是Linux运维之shell变量.md的详细内容,更多请关注创想鸟其它相关文章!

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 chuangxiangniao@163.com 举报,一经查实,本站将立刻删除。
发布者:程序猿,转转请注明出处:https://www.chuangxiangniao.com/p/549891.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
Linux backlog对性能的影响
上一篇 2025年11月9日 19:33:05
如何解决PHP应用中的日志记录问题?使用Fluent/Logger库可以!
下一篇 2025年11月9日 19:33:06

相关推荐

  • 有关linux中shell内置判断语句的介绍

    内置判断,成功的时候返回0,不成功返回非零。接下来通过本文重点给大家介绍linux shell内置判断语句,感兴趣的的朋友一起看看吧 内置判断,成功的时候返回0,不成功返回非零   test  判断表达式   [ 判断表达式 ]       注意前后必须留空格哦 数值运算   -eq   等于   …

    用户投稿 2026年9月4日
    000
  • Linux文件与目录管理的介绍(附代码)

    本篇文章给大家带来的内容是关于Linux文件与目录管理的介绍(附代码),有一定的参考价值,有需要的朋友可以参考一下,希望对你有所帮助。 基础命令 基本命令 pwd命令作用:显示当前工作目录的名称选项:-p 显示链接的真实路径 cd命令作用:切换当前工作目录常用: cd 切换到根目录cd &#8211…

    用户投稿 2026年8月31日
    200
  • 如何调试shell脚本?

    如何调试shell脚本?我们可以在shell脚本中使用“set-xv”命令或在执行脚本时在命令行上使用-xv来调试shell脚本。 通过添加命令来调试Shell脚本: $ cat checkdebug.sh #!/bin/bashset -xv #<< This will enable …

    2026年8月31日
    200
  • 如何从shell脚本创建二进制文件

    在使用linux系统时,我们都会使用许多命令。大多数命令以二进制格式在/bin、/sbin、/usr/bin、/usr/sbin等目录中可用。作为系统管理员,我们编写了许多shell脚本来完成一些任务或使它们自动化。 本文将介绍创建shell脚本的二进制文件,因为没有人可以看到脚本的源代码,我们可以…

    2026年8月31日
    300
  • 如何在shell脚本中为用户分配密码

    本篇文章给大家介绍的内容是关于如何在shell脚本中为用户分配密码,下面我们来看具体的内容。 我们先来看一下命令 echo | passwd –stdin 例如: 使用以下命令更改shell脚本中用户jack的密码。例如,我们使用字符串password作为密码。 cho “password” | p…

    2026年8月31日
    000
  • MySQL数据库如何实现定时任务_事件调度器使用详解?

    MySQL数据库如何实现定时任务_事件调度器使用详解?MySQL数据库如何实现定时任务_事件调度器使用详解?MySQL数据库如何实现定时任务_事件调度器使用详解?MySQL数据库如何实现定时任务_事件调度器使用详解?

    mysql实现定时任务的核心机制是事件调度器。1. 开启事件调度器:通过set global event_scheduler=on,并在配置文件中持久化;2. 创建事件:使用create event定义一次性或周期性任务;3. 管理事件:通过show events、alter event、drop …

    2026年8月30日 用户投稿
    200
  • linux中bash是什么意思?

    Bash (GNU Bourne-Again Shell) 是大多数Linux系统以及Mac OS X默认的shell,是一个为GNU计划编写的Unix shell,是一个程序,是一个gnu软件。 它能运行于大多数类Unix风格的操作系统之上,甚至被移植到了Microsoft Windows上的Cy…

    2026年8月29日
    000
  • shell编程实战之监控磁盘分区的使用率

    不知道大家有没有碰到过磁盘分区写满,导致新数据写入不了,造成网站出现了问题。之前自己有几次碰到过这种情况,自己当时紧急解决办法是:删除网站的日志文件,删除了mysql的binlog日志。 当然我们是不希望发生此类问题的,如果网站总出现不稳定或打不开情况,会给用户一种不靠谱的感觉。所以,对于磁盘分区的…

    用户投稿 2026年8月26日
    100
  • shell编程实战之监控网卡流量

    最近客户的网站出现卡慢现象,通过检查,出问题是原因是因为带宽吃紧,所以让客户将服务器带宽从原本的2m增加到4m的带宽,网站速度一下就提升了。那么如何监控网卡流量情况,linux有许多命令可以查看。比如iftop,sar等等。 这里,我想写一个监控网卡流量情况的脚本。统计每一分钟的网卡流量情况,输入到…

    用户投稿 2026年8月26日
    000
  • 自动化密码查询工具Cypheroth

    Cypheroth介绍 Cypheroth是一款自动化且可扩展的工具套件,旨在帮助研究人员对Bloodhound的Neo4j后端进行自动化密码查询,并将查询结果存储到电子表格中。 Cypheroth是一款Bash脚本,能够自动对Neo4j数据库中存储的Bloodhound数据执行密码查询。 密码查询…

    2026年8月25日
    100
  • Mac Finder中如何让HTML文件显示代码预览缩略图?

    可通过安装qlstephen或QuickLook-HTML插件启用Mac Finder中HTML文件的代码预览,结合Quick Look功能与终端命令刷新缓存后,直接按空格键查看带语法高亮的源码内容。 如果您在Mac的Finder中浏览HTML文件时,希望直接看到代码内容的预览缩略图而非默认图标,可…

    2025年12月23日
    000
  • Linux下Python脚本操作的高级技巧

    Linux下Python脚本操作的高级技巧,需要具体代码示例 Python语言是一种简单易学、功能强大的脚本语言,它在Linux系统中的应用非常广泛。本文将介绍一些Linux下使用Python脚本进行高级操作的技巧,并提供具体的代码示例,帮助读者更好地理解和应用这些技巧。 使用管道和过滤器 在Lin…

    2025年12月13日
    500
  • linux怎么执行php脚本_linux系统中执行PHP脚本的命令与配置

    首先确认PHP已安装,使用php -v检查版本;若未安装,在Ubuntu/Debian中用sudo apt install php-cli php,在CentOS/RHEL中用sudo yum install php或sudo dnf install php;创建test.php文件并写入PHP代码…

    2025年12月12日
    000
  • PHP 如何与 shell 命令互动?

    php 与 shell 命令交互方法:exec() 函数:执行命令并获取输出。shell_exec() 函数:在独立 shell 进程中执行命令。popen() 函数:通过管道与命令双向通信。proc_open() 函数:提供了更高级的控制,可指定命令流。 PHP 如何与 Shell 命令互动? 在…

    2025年12月9日
    000
  • shell脚本基本命令有哪些

    shell脚本基本命令:1、Shell的echo指令与PHP的echo指令类似,都是用于字符串的输出;2、printf命令模仿C程序库里的【printf()】程序;3、test命令用于检查某个条件是否成立。 本教程操作环境:linux7.3系统,DELL G3电脑。 shell脚本基本命令: 1、e…

    2025年12月5日
    600
  • linux shell怎么判断文件是否存在

    在linux shell中,可以利用if语句和“-e filename”表达式来判断文件是否存在,具体语法“if [-e filename]; then echo “文件存在”; else echo “文件不存在”; fi”。 本教程操作环境:linu…

    2025年12月4日
    000
  • 操作mysql数据库的Shell脚本

    创建建表语句 %ign%ignore_a_1%re_pre_1% 批量插入数据脚本 #!/bin/bash #create by oldboy 20110319 #qq:31333741 MysqlLogin=”mysql -uroot -poldboy” #→定义登陆mysql的命令,方…

    用户投稿 2025年12月3日
    000
  • linux下MySQL主从同步监控shell脚本

    说明: 操作系统:CentOS 目的:定时监控MySQL主从数据库是否同步,如果不同步,记录故障时间,并执行命令使主从恢复同步状态 1、创建脚本文件 vi /home/crontab/check_mysql_slave.sh   #编辑,添加下面代码 #!/bin/sh # check_mysql_…

    2025年12月2日
    100
  • 使用mysql在终端执行sql并把结果写入文件的方法

    在终端使用mysql执行语句时,我们一般先进入mysql,然后再在里面执行sql语句。 例如: mysql -urootmysql> use mydb;mysql> select * from user;… 如果我们需要进行某些表的监控,并保存执行后的查询结果,需要手动复制到文件,这…

    2025年12月2日
    100
  • SQL语言如何构建自动化备份脚本 SQL语言在数据容灾中的定时任务实现

    SQL语言如何构建自动化备份脚本 SQL语言在数据容灾中的定时任务实现SQL语言如何构建自动化备份脚本 SQL语言在数据容灾中的定时任务实现SQL语言如何构建自动化备份脚本 SQL语言在数据容灾中的定时任务实现SQL语言如何构建自动化备份脚本 SQL语言在数据容灾中的定时任务实现

    自动化备份脚本的核心是结合sql备份命令与操作系统或数据库调度器,通过编写脚本并配置定时任务实现;2. 不同数据库需使用对应工具:sql server用t-sql脚本配合sql server agent,mysql和postgresql用mysqldump与pg_dump配合shell/batch脚…

    2025年12月1日 用户投稿
    100

发表回复

登录后才能评论
关注微信