Shell Script—变量

这篇具有很好参考价值的文章主要介绍了Shell Script—变量。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

1.变量

Shell脚本中的变量是一段文本,代表了一个值或对象。在Shell脚本中,通常使用变量来存储命令行参数、计算中间值、存储文件名,存储用户输入等信息,可以根据需要使用、修改或打印出来。

1.1 变量赋值

在Shell脚本中,可以通过以下方式定义变量:
直接赋值:使用等号(=)赋值。

#!/bin/sh
name="hello world"
echo $name  # 输出 name
echo ${name}  # 输出 name

加花括号是为了帮助解释器识别变量的边界

例如:

#!/bin/sh
name="hello world"
echo "$name"  # 输出 name
echo "Hi ${name}"  # 输出 name

输出

hello world
Hi hello world

1.2 读取用户的输入

接收外部用户输入的命令

#!/bash/bin
echo "please input your name:"
read name
echo "Hi ${name}"

1.3 接收命令执行结果

用反单引号``或者$()来执行命令,将命令的输出结果赋值给变量

示例

#!/bash/bin

count=`ls -l | grep "^-" | wc -l`   #统计当前文件夹下文件的数量
echo $count

count1=$(ls -l | grep "^-" | wc -l)
echo ${count1}

输出

6
6

1.4 环境变量

环境变量 使用“export”命令声明一个变量为环境变量,环境变量可被子进程继承使用

示例

#!/bash/bin

export SERVER_NAME="localhost"
echo "server name is: $SERVER_NAME"

输出

server name is: localhost

1.5 只读变量

只读变量使用readonly命令将变量声明为只读变量,不允许修改

示例

#!/bash/bin

readonly fruit="apple"
echo $fruit

fruit="banana"
echo $fruit

输出

apple
*.sh: line 6: fruit: readonly variable

1.6 删除命令

unset命令用于删除一个已设置的变量或者函数; unset命令将会使用在下列场景中:

1.6.1 删除变量

删除变量,当你运行一个脚本时,会产生很多临时的变量,这些变量在脚本执行之后不再需要。为了保持环境变量的清洁,你可以使用unset命令删除变量,防止它们继续占用内存空间。

示例

#!/bash/bin

myvar="hello world"
echo $myvar
unset myvar
echo $myvar   #输出为空

输出

hello world

1.6.2 删除数组

删除数组,可以使用unset命令删除数组中的一个元素或整个数组。

示例

#!/bin/sh
myarr=("apple" "banana" "orange")
echo ${myarr[@]}    #apple banana orange,打印所有的元素
unset myarr[1]      #删除第二个元素 banana
echo ${myarr[@]}    #apple orange
unset myarr         #删除整个数组
echo ${myarr[@]}    # 空

输出

apple banana orange
apple orange

1.6.3 删除函数

删除函数,当一个函数在脚本中不再需要时,你可以使用unset命令将其从内存中删除,节省资源。但是,建议只在确定函数不再使用时使用此命令。

示例

#! /bin/bash
hello(){
  echo "Hello world"
}
hello   # Hello world
unset -f hello
hello   # 抛出 "command not found" 的错误信息

输出

Hello world
*.sh: line 7: hello: command not found

使用 unset 命令可以有效地清理Shell环境中的不需要的变量、数组和函数,释放系统资源,同时避免对后续逻辑产生影响。文章来源地址https://www.toymoban.com/news/detail-502350.html

到了这里,关于Shell Script—变量的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 【Linux高级篇】什么是shell脚本,什么是shell变量

    目录 🍁什么是shell 🍂什么是shell脚本 🍂shell脚本能做什么 🍂学习shell需要哪些知识 🍂shell基本规范 🍂shell脚本五种运行方式 🍁shell变量 🍂变量命名规范 🍂shell变量定义的方式 🍃自定义变量 🍃系统环境变量 🍃预定义变量 🍃位置变量 🍃补充变量 🍂shell变量赋值 🍂

    2023年04月25日
    浏览(52)
  • 【Linux脚本篇】shell变量的使用

    目录 🍁shell变量替换 🍁定义变量 🍁shell变量运算 🍂整数运算 🍂小数运算    🦐博客主页:大虾好吃吗的博客    🦐专栏地址:Linux从入门到精通 ${变量#匹配规则}                                         #从头开始匹配,最短删除 ${变量##匹配规则

    2024年02月06日
    浏览(49)
  • Linux【脚本 04】Shell脚本传递参数的4种方式(位置参数、特殊变量、环境变量和命名参数)实例说明

    Shell脚本是一种命令语言,可以用于自动化执行各种任务。在脚本中,我们可以通过参数来传递信息,这样脚本就可以根据这些信息来执行特定的操作。本文将介绍如何在shell脚本中传递参数,包括位置参数、特殊变量、环境变量和命名参数。 1.1 解释器 #!/bin/bash 称为shebang或

    2024年02月06日
    浏览(85)
  • shell脚本ssh远程执行命令给变量赋值的问题

    从A机器通过SSH方式到B机器,并执行相关的命令。命令中包含变量及变量的赋值。 代码如下,意思是,ssh到192.111.111.27这台机器,cd到 / 根目录下,并执行ls命令,如果ls出来的结果不为空,则执行echo命令。可以肯定的是 / 根目录下是有内容的。 可以看到当执行到 echo 命令的时

    2024年02月12日
    浏览(49)
  • lv3 嵌入式开发-5 linux shell脚本编程(概念、变量、语句)

     Shell脚本是利用 shell 的功能所写的一个程序。这个程序是使用纯文本文件,将一些 shell 的语法与命令(含外部命令)写在里面,搭配正则表达式、管道命令与数据流重定向等功能  第一个Shell脚本文件 变量来源于数学,是计算机语言中能储存计算结果或能表示值的抽象概念

    2024年02月10日
    浏览(83)
  • shell中的变量

    1)常用系统变量 H O M E 、 HOME、 H OME 、 PWD、 S H E L L 、

    2024年02月11日
    浏览(31)
  • Linux中shell脚本中的运算

    目录 一、运算符号 二、运算指令  三、练习  + 加法 - 减法 * 乘法 / 除法 % 除法后的余数 ** 乘方 ++ 自加一 -- 自减一 小于 = 小于等于 大于 = 大于等于 = 等于 += j+=i , j=j+i *= j=j*i /= j=j/i %= j=j%i   1、倒计时1分10秒的练习:

    2024年02月07日
    浏览(36)
  • 关于shell中的一个命名引起的问题,局部变量

    以下脚本并不完整,只是抽取的部分进行 问题讲解。。 片段分析 主要留意idd_serial,实际这是一个全局变量,在函数外依然可以被正常访问。 上述逻辑主要是通过udevadm来提取 /dev/srN对应的 ID_SERIAL, PC端共存在/dev/sr0和/dev/sr1两个光驱驱动。 首先,我们删除/dev/sr0和/dev/sr1,,

    2024年02月12日
    浏览(47)
  • Linux中的shell脚本之流程控制&&循环遍历

    3 条件判断 4 流程控制语句 1)if 语句 案例,用户输入用户名和密码,判断用户名是否是admin,密码是否是123,如果正确,则显示登录成功 首先我创建了shell文件,touch getpawer 其中getpawer 是我自己命的名 效果展示如下: 2)case语句:用case语句匹配一个值与一个模式,如果匹配成

    2024年04月16日
    浏览(48)
  • shell脚本中的运算符和条件判断

    在Shell脚本中,你可以使用各种运算符来执行数学运算、比较和逻辑操作。 计算方式: $[ ] $(( )) 例: a= $[(9+5) 90] 打印输出结果 == echo $a test $a = 90 [ $a = 90 ] 注意事项: 判断处理中间空格隔开 关系运算符: -eq 等于 -lt 小于 -gt 大于 -ne 不等于 -le 小于等于 -ge 大于等于 文件类型

    2024年04月17日
    浏览(42)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包