0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

Shell脚本中的变量详解

嵌入式加油站 来源:嵌入式加油站 2023-10-27 11:21 次阅读

Shell变量概述

跟许多程序设计语言一样,你可以在 bash 中创建变量。

Bash 中没有数据类型,bash 中的变量可以保存一个数字、一个字符、一个字符串等等。同时无需提前声明变量,给变量赋值会直接创建变量。

变量命名原则

命名只能使用英文字母,数字和下划线,首个字符不能以数字开头。

中间不能有空格,可以使用下划线(_)。

不能使用标点符号。

不能使用 bash 里的关键字(可用 help 命令查看保留关键字)。

声明变量

访问变量的语法形式为:${var} 和 $var 。

变量名外面的花括号是可选的,加不加都行,加花括号是为了帮助解释器识别变量的边界,所以推荐加花括号。

word="hello"

echo ${word}

# Output: hello

只读变量

使用 readonly 命令可以将变量定义为只读变量,只读变量的值不能被改变。

rword="hello"

echo ${rword}

readonly rword

# rword="bye" # 如果放开注释,执行时会报错

删除变量

使用 unset 命令可以删除变量。变量被删除后不能再次使用。unset 命令不能删除只读变量。

dword="hello" # 声明变量

echo ${dword} # 输出变量值

变量类型

局部变量 - 局部变量是仅在某个脚本内部有效的变量。它们不能被其他的程序和脚本访问。

环境变量 - 环境变量是对当前 shell 会话内所有的程序或脚本都可见的变量。创建它们跟创建局部变量类似,但使用的是 export 关键字,shell 脚本也可以定义环境变量。

常见的环境变量:

变量 描述

$HOME 当前用户的用户目录

$PATH 用分号分隔的目录列表,shell 会到这些目录中查找命令

$PWD 当前工作目录

$RANDOM 0 到 32767 之间的整数

$UID 数值类型,当前用户的用户 ID

$PS1 主要系统输入提示符

$PS2 次要系统输入提示符

示例-- Shell脚本

#!/usr/bin/env bash

################### 声明变量 ###################

name="world"

echo "hello ${name}"

# Output: hello world

################### 输出变量 ###################

folder=$(pwd)

echo "current path: ${folder}"

################### 只读变量 ###################

readonly rword

################### 删除变量 ###################

dword="hello" # 声明变量

echo ${dword} # 输出变量值

unset dword # 删除变量

echo ${dword}

# Output: (空)

################### 系统变量 ###################

echo "UID:$UID"

echo LOGNAME:$LOGNAME

echo User:$USER

echo HOME:$HOME

echo PATH:$PATH

echo HOSTNAME:$HOSTNAME

echo SHELL:$SHELL

echo LANG:$LANG

################### 自定义变量 ###################

days=10

user="admin"

echo "$user logged in $days days age"

days=5

user="root"

# Output:

# admin logged in 10 days age

# root logged in 5 days age

################### 从变量读取列表 ###################

colors="Red Yellow Blue"

colors=$colors" White Black"

for color in $colors

do

echo " $color"

done

ac986de4-7477-11ee-939d-92fbcf53809c.jpg

审核编辑:汤梓红

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 变量
    +关注

    关注

    0

    文章

    613

    浏览量

    28365
  • Shell
    +关注

    关注

    1

    文章

    365

    浏览量

    23364
  • 脚本
    +关注

    关注

    1

    文章

    389

    浏览量

    14862

原文标题:「Shell脚本」Shell脚本程序开发——变量(二)

文章出处:【微信号:嵌入式加油站,微信公众号:嵌入式加油站】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    shell脚本进阶】几个常用的shell进阶脚本

    shell脚本进阶】几个常用的shell进阶脚本
    的头像 发表于 09-19 08:59 1888次阅读
    【<b class='flag-5'>shell</b><b class='flag-5'>脚本</b>进阶】几个常用的<b class='flag-5'>shell</b>进阶<b class='flag-5'>脚本</b>

    如何在bash shell脚本中使用变量

    如果你使用编程语言编写过程序,那么一定接触过变量。而在 bash 脚本的编写时,变量也是一个很重要的概念。今天我们分享一下如何在 bash 脚本中使用
    发表于 12-02 16:32 2107次阅读
    如何在bash <b class='flag-5'>shell</b><b class='flag-5'>脚本</b>中使用<b class='flag-5'>变量</b>

    Linux Shell脚本入门到实战详解

    Linux Shell脚本入门到实战详解
    发表于 02-17 15:03 643次阅读

    shell脚本编写之本地脚本的编写和执行

    ,是在当前shell环境下读取并执行shell脚本,可以不被赋予执行权限。与前几种执行方式不同的是,使用该方式执行后,脚本定义的
    发表于 08-28 09:36

    Linux Shell系列教程之Shell变量

    时存在三种变量:1) 局部变量局部变量脚本或命令定义,仅在当前shell实例中有效,其他
    发表于 08-28 14:14

    shell脚本最简明的教程

    Shell脚本,就是利用Shell的命令解释的功能,对一个纯文本的文件进行解析,然后执行这些功能,也可以说Shell脚本就是一系列命令的集合
    的头像 发表于 10-16 11:27 4832次阅读
    <b class='flag-5'>shell</b><b class='flag-5'>脚本</b>最简明的教程

    Linuxshell脚本执的4种方式

    Linuxshell脚本的执行通常有4种方式,分别为工作目录执行,绝对路径执行,sh执行,shell环境执行。
    发表于 05-23 09:28 917次阅读
    Linux<b class='flag-5'>中</b><b class='flag-5'>shell</b><b class='flag-5'>脚本</b>执的4种方式

    Linuxshell脚本编程

    编译型语言:如 c语言解释型语言:shell 脚本
    的头像 发表于 04-18 11:58 3104次阅读

    shell脚本基础知识

    shell脚本是一个文件,里面存放的是特定格式的指令,系统可以使用脚本解析器翻译或解析指令并执行(无需编译),shell脚本的本质是
    的头像 发表于 04-17 15:00 1090次阅读

    Bash脚本特殊变量$0是什么?

    在 Bash 脚本,`$0` 是一个特殊变量,它代表当前脚本的路径和名称。这个变量用于表示脚本
    的头像 发表于 05-12 14:41 1843次阅读

    shell脚本本身自带的命令详解

    除了以文件形式保存在/usr/bin下面的命令,shell脚本还可以使用shell本身自带的命令,即内置命令
    的头像 发表于 05-23 09:32 1037次阅读
    <b class='flag-5'>shell</b><b class='flag-5'>脚本</b>本身自带的命令<b class='flag-5'>详解</b>

    分享249个拿来即用的shell脚本

      由于脚本案例太多,在此仅展示部分,完整版领取方式请见文末       249个拿来即用的shell脚本!   这249个Shell脚本
    的头像 发表于 07-07 10:52 1181次阅读
    分享249个拿来即用的<b class='flag-5'>shell</b><b class='flag-5'>脚本</b>

    shell脚本基本命令

    "Hello, World!" 将输出"Hello, World!"。 read命令:用于从标准输入读取一行,并将每个字段的值分配给shell变量。例如, read name 将读取一行输入,并将
    的头像 发表于 11-08 10:08 2149次阅读

    shell并行调用脚本

    Shell脚本,可以使用一些技巧来实现并行调用。以下是几种常见的方法: 使用后台进程:在Shell脚本
    的头像 发表于 11-08 10:23 952次阅读

    Linux从零到精通:最简单的Shell脚本入门教程

    通过简单的命令和脚本,实现对系统的灵活控制和自动化管理。 shell脚本前言 shell脚本入门 she
    的头像 发表于 12-05 09:56 422次阅读
    Linux从零到精通:最简单的<b class='flag-5'>Shell</b><b class='flag-5'>脚本</b>入门教程