首页 > 运维 > linux运维 > 正文

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

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

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

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

变量怎么定义才合法

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

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

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

引用变量要注意边界

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

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

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

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

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

绘蛙-创意文生图
绘蛙-创意文生图

绘蛙平台新推出的AI商品图生成工具

绘蛙-创意文生图 87
查看详情 绘蛙-创意文生图
  • 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 变量怎么用?新手必会基础语法的详细内容,更多请关注php中文网其它相关文章!

最佳 Windows 性能的顶级免费优化软件
最佳 Windows 性能的顶级免费优化软件

每个人都需要一台速度更快、更稳定的 PC。随着时间的推移,垃圾文件、旧注册表数据和不必要的后台进程会占用资源并降低性能。幸运的是,许多工具可以让 Windows 保持平稳运行。

下载
来源:php中文网
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
最新问题
开源免费商场系统广告
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新 English
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号