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


定义变量时不能加$且等号两边无空格,变量名只能含字母、数字、下划线并以字母或下划线开头;引用时建议用${}避免歧义,值含空格需用引号包裹,命令结果用$()捕获,单引号不解析变量双引号支持展开,可设只读或删除变量但只读变量不可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 会切开当成多个参数:

Magician Magician

Figma插件,AI生成图标、图片和UX文案

Magician 412 查看详情 Magician
  • 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 变量怎么用?新手必会基础语法的详细内容,更多请关注其它相关文章!


# 双引号  # 如何建设众筹网站  # 法院网站推广平台  # div css seo  # 建设用地办理信息网站  # 微博冲浪关键词排名查询  # 河北网站建设推广方法  # 地产营销活动推广  # 论坛网站建设美丽中国  # 精美网站建设报价  # 鹤岗百度营销推广合作渠道  # 互斥  # javascript  # 也不  # 单引号  # 这是  # 学习笔记  # 报错  # 必会  # 变量名  # 下划线  # app  # java 


相关栏目: 【 Google疑问12 】 【 Facebook疑问10 】 【 优化推广96088 】 【 技术知识133117 】 【 IDC资讯59369 】 【 网络运营7196 】 【 IT资讯61894


相关推荐: Leaflet地图弹出窗口图片动态显示:避免缺失图标的专业指南  Win10输入法不见了怎么办 Win10找回语言栏图标教程  iQOO手机信号差网络不稳定怎么办 信号问题原因排查与增强设置【攻略】  Eclipse开发J*a快速入门  火狐浏览器无法自动更新怎么办 手动更新火狐浏览器到最新版本【解决】  《书耽》更换手机号方法  百度网盘如何设置上传限额  《东方财富》条件单关闭方法  厨房地面防滑垫的油污怎么洗? 机洗和手洗防滑垫的注意事项  如何查找哪个composer包引入了特定的依赖?  修复UI元素交互障碍:从“开始”按钮到信息框的平滑过渡实现  济南公交卡手机充值指南  百度输入法在AutoCAD中无法输入中文怎么办_百度输入法CAD输入异常解决方法  使用jQuery精确检测除指定元素外任意位置的点击事件  Pydantic 中“schema”字段命名冲突的解决方案  Sublime Text怎么关闭自动完成_Sublime禁用Auto Complete设置  126邮箱网页在线登录2025_126邮箱网页版入口官方地址  基于 Flink 和 Kafka 实现高效流处理:连续查询与时间窗口  《edge浏览器》关闭翻译功能方法  苹果手机如何清理系统缓存数据 iPhone非越狱清理垃圾文件的技巧【系统优化】  手机自动关机是怎么回事?如何修复?手机异常关机的原因排查与修复技巧  三星A55应用闪退排查步骤_Samsung A55稳定性优化技巧  Lar*el Socialite单设备登录策略:实现用户唯一会话管理  中通快递官网指定查询 中通快递单号查询平台入口  如何高效地基于键列值映射DataFrame中的多个列  J*aScript模块加载器_RequireJS原理分析  植物大战僵尸95版游戏版下载_植物大战僵尸95版游戏版安装指南  B站怎么开|直播| B站|直播|申请需要什么条件【新手必看】  汽水音乐网页端访问 汽水音乐官方网页直达  豆包AI怎样为教育场景定制答疑逻辑_为教育场景定制豆包AI答疑逻辑方案【方案】  《梦想世界:长风问剑录》药师一图流分享  word页码灰色不能用如何解决  MySQL多重JOIN技巧:高效关联同一表获取多角色信息  三星M34录音变声问题_Samsung M34麦克风调整  Win10运行窗口在哪里打开 Win10调出运行命令框快捷键【技巧】  VBA Outlook邮件自动化:高效集成Excel数据与列标题的策略  b站怎么用微信登录_b站微信登录方法  qq邮箱怎么注册_QQ邮箱注册步骤与注意事项  Linux如何开发轻量级数据服务模块_Linux服务化设计  悟空浏览器网页版在线工具 悟空浏览器网页版在线平台入口  《爱笔思画x》魔棒工具抠图教程  《小宇宙》标记不友善评论方法  如何用Golang优化微服务间请求性能_Golang 微服务请求性能优化方法  深入理解随机递归函数的确定性:内部节点、叶节点与时间复杂度分析  《下一站江湖2》独孤剑诀习得方法  Golang如何实现HTTP请求重试机制_Golang HTTP请求错误处理策略  在VS Code中利用AI辅助进行代码迁移  MySQL多重关联查询:利用别名高效获取同一表的多个关联字段  《理想汽车》权限管理设置方法  c++如何掌握指针的核心用法_c++指针入门到精通指南 

 2025-12-04

了解您产品搜索量及市场趋势,制定营销计划

同行竞争及网站分析保障您的广告效果

点击免费数据支持

提交您的需求,1小时内享受我们的专业解答。

运城市盐湖区信雨科技有限公司


运城市盐湖区信雨科技有限公司

运城市盐湖区信雨科技有限公司是一家深耕海外推广领域十年的专业服务商,作为谷歌推广与Facebook广告全球合作伙伴,聚焦外贸企业出海痛点,以数字化营销为核心,提供一站式海外营销解决方案。公司凭借十年行业沉淀与平台官方资源加持,打破传统外贸获客壁垒,助力企业高效开拓全球市场,成为中小企业出海的可靠合作伙伴。

 8156699

 13765294890

 8156699@qq.com

Notice

We and selected third parties use cookies or similar technologies for technical purposes and, with your consent, for other purposes as specified in the cookie policy.
You can consent to the use of such technologies by closing this notice, by interacting with any link or button outside of this notice or by continuing to browse otherwise.