新闻中心

Shell 变量怎么用?新手必会基础语法

2025-12-04
浏览次数:
返回列表
定义变量时不能加$且等号两边无空格,变量名只能含字母、数字、下划线并以字母或下划线开头;引用时建议用${}避免歧义,值含空格需用引号包裹,命令结果用$()捕获,单引号不解析变量双引号支持展开,可设只读或删除变量但只读变量不可unset。

shell 变量怎么用?新手必会基础语法

Shell 变量用起来其实很简单:先命名赋值,再加 $ 引用。关键不是“会不会”,而是别踩那几个常见坑——比如等号两边加空格、用数字开头、或者忘了引号包空格。

变量怎么定义才合法

定义时只写名字和值,**不能加 $,等号两边绝对不能有空格**:

  • ✓ 正确name="张三"PORT=8080APP_NAME="my-app"
  • ✗ 错误name = "张三"(空格导致变成执行命令)、1name="abc"(数字开头)、user-name="test"(含短横线,非法)

变量名只能含字母、数字、下划线,且必须以字母或下划线开头。习惯上常量用大写(如 PI=3.14),普通变量小写或驼峰都行。

引用变量要注意边界

$变量名 或更推荐的 ${变量名} 来取值。花括号不是可有可无——它能防止歧义:

  • skill=J*a,写 echo "$skillScript" 会被当成变量 skillScript(为空);
  • echo "${skill}Script" 才真输出 J*aScript

只要变量后面紧挨着字母/数字,就强烈建议加花括号,这是省心又安全的习惯。

带空格、命令结果、特殊字符怎么办

值里有空格?必须用引号包住,否则 Shell 会切开当成多个参数:

MedPeer科研绘图 MedPeer科研绘图

生物医学领域的专业绘图解决方案,告别复杂绘图,专注科研创新

MedPeer科研绘图 166 查看详情 MedPeer科研绘图
  • msg="Hello world!"
  • msg=Hello world! ✗(报错或只取 Hello)

想存命令执行结果?用 $() 或反引号:

  • files=$(ls /tmp)
  • date_str=`date +%Y-%m-%d`

单引号内所有内容原样输出(不解析变量),双引号内支持变量展开和转义,按需选用。

常用操作:修改、只读、删除

  • 重新赋值直接写:count=5count=12(不用加 $
  • 设为只读:readonly DB_HOST="127.0.0.1",之后再赋值会报错
  • 删掉变量:unset temp_var,再 echo 就为空了

注意:只读变量不能 unset,也不能再赋值。

基本上就这些。不复杂,但容易忽略空格和引号——写完变量多看一眼等号两边,基本就稳了。

以上就是Shell 变量怎么用?新手必会基础语法的详细内容,更多请关注其它相关文章!


# 双引号  # 校园网站建设建站模板  # 甘肃关键词排名问题  # 学校网站建设费用情况  # 天津媒体网站建设哪家好  # 网站建设软件公司排名  # 北京企业网站建设作用  # 结婚网站建设美丽  # 济南seo网站优化运营  # 作品推广营销思维方式  # 楼盘项目营销推广计划  # 互斥  # javascript  # 也不  # 单引号  # 这是  # 学习笔记  # 报错  # 必会  # 变量名  # 下划线  # app  # java 


相关栏目: 【 科技资讯46185 】 【 网络学院92790


相关推荐: windows10怎么查看硬盘序列号_windows10硬盘id查询命令  “音游” × “怪文书” 题材的节奏冒险游戏 《晕晕电波症候群》确定于2026年4月发售!  Basecamp怎样用留言钉固定重点_Basecamp用留言钉固定重点【重点标记】  微博网页版怎么开启两步验证_微博网页版账号安全两步验证设置方法  C++如何生成随机数_C++ random库使用方法与范围设置  React列表渲染与独立状态管理:避免全局状态影响局部更新  QQ邮箱官方邮箱登录入口 QQ邮箱网页版快速访问  steam官方网页快速访问 steam账号注册全流程  新手怎么开始学化妆 零基础化妆入门教程  汽水音乐网页版使用入口_汽水音乐电脑版播放指南  LINUX的I/O重定向是什么_深入理解LINUX中 >、>> 与 < 的区别  《主播少女的秘密账号迷宫》首支宣传片  Win11怎么开启卓越性能模式 Win11电源选项启用高性能释放硬件潜力【方法】  美团外卖商家服务中心入口 美团商家版官网入口  126邮箱手机版登录官网2026_126手机邮箱免费入口最新  高德地图沿途添加点失败如何解决 高德多点规划方法  必由学官方平台入口 必由学在线课堂登录地址  为什么简单的XML文件也会解析失败? 检查隐藏的非打印字符(如BOM)的方法  HTML转PPT成品工具有哪些?HTML网页转PPT成品工具大全  C++如何实现一个装饰器模式_C++设计模式之动态地给对象添加额外职责  俄罗斯Yandex搜索引擎入口_Yandex官网免登录一键访问  在J*a里如何理解依赖关系的方向_依赖方向在模块结构中的作用  12306选座怎么选到商务座_12306商务座选择与配置说明  铁路12306改签能改到更早的车次吗_铁路12306改签提前车次规则  Win11如何使用Windows Sandbox Win11沙盒功能开启与使用教程【详解】  提升Kafka消费者健壮性:会话超时处理与消息处理语义  在J*a中如何隐藏复杂性_使用门面模式组织对象交互  电脑安装程序提示“错误1722”怎么办_Windows Installer服务问题解决【教程】  WordPress插件开发:正确注册卸载钩子与避免常见陷阱  Win11怎么隐藏桌面图标 Win11一键隐藏所有桌面元素及恢复显示  Log4j Console Appender性能瓶颈与高并发优化策略  解决 MongoDB 聚合查询中对象数组 _id 匹配问题  抖音网页版怎么|直播|_抖音网页版开播操作指南  如何创建没有密码的Windows本地账户_跳过微软账户登录的技巧【教程】  三星GalaxyZFold5怎样在相册制作折叠屏分镜_iPhone三星GalaxyZFold5相册制作折叠屏分镜【创意编辑】  Yandex官网搜索引擎免登录_俄罗斯Yandex一键直达入口  顺丰快件物流信息 官方网站查询入口  Excel中VLOOKUP的第四个参数是干什么用的_Excel VLOOKUP第四参数作用解析  LocoySpider如何部署到云服务器_LocoySpider云部署的远程配置  Golang切片为何属于引用类型_Golang slice底层结构与引用语义说明  利用5118提升短视频内容效果_5118短视频关键词优化方法  如何使用CaptainHook和Composer管理Git钩子_在提交前自动运行代码检查的Composer配置  Win10文件资源管理器“此电脑”分组怎么关 Win10恢复经典视图【技巧】  微信客户端如何收红包_微信客户端接收红包使用教程  汽水音乐在线解析 汽水音乐在线解析入口  微信网页版官方快速登录入口 微信网页版网页版账号直达  c++如何使用Meson构建系统_c++比CMake更快的构建工具  Yandex官方入口网址 Yandex俄罗斯搜索引擎最新在线地址  CSS布局中意外空白:解决padding-top导致的顶部间距问题  抖音网页版平台入口 抖音网页版官网在线访问教程 

搜索