Shell 入门教程(七):变量的使用

文章首发于【陈树义的博客园】,点击跳转到原文:https://www.cnblogs.com/chanshuyi/p/quick_start_of_shell_07_variable.html

因为 Shell 语言是一门弱语言类型,所以变量可以无须定义便可直接使用。在 Shell 语言中,引用变量有几种方式。

第一种,直接使用 $ 符号引用。

str="Hello"
echo $str	//Hello

第二种,使用 ${} 符号引用。

str="Hello"
echo ${str} //Hello

一般来说,如果不会引起变量的阅读困难,那么可以使用第一种变量引用方式。但如果在较为复杂的环境,会引起阅读和理解困难,那还是使用第二种引用方式。例如:

#!/bin/sh
echo "What is your name?"
read USER_NAME
echo "Hello $USER_NAME"
echo "I have create an email $USER_NAME@gmail.com for you"

上面的例子非常简单,输入你的名字,为你创建一个邮箱。虽然上面的例子能正常运行,但是却不易阅读。特别最后一行,你需要很仔细端详,才知道原来是引用了$USER_NAME这个变量,而不是引用了$USER_NAME@gmail.com这个变量。在这种情况下,使用花括号来引用变量是更为合适的:

#!/bin/sh
echo "What is your name?"
read USER_NAME
echo "Hello $USER_NAME"
echo "I have create an email ${USER_NAME}@gmail.com for you"

虽然说我们可以加上大括号,或者不加,但是业界统一的规范还是加上大括号。因为这样比较统一,便于阅读。因此树义也建议大家使用第二种方式,即使用加上大括号的方式。

文章首发于【陈树义的博客园】,点击跳转到原文:https://www.cnblogs.com/chanshuyi/p/quick_start_of_shell_07_variable.html

posted @   陈树义  阅读(479)  评论(0编辑  收藏  举报
编辑推荐:
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
阅读排行:
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· 阿里巴巴 QwQ-32B真的超越了 DeepSeek R-1吗?
· 【译】Visual Studio 中新的强大生产力特性
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 【设计模式】告别冗长if-else语句:使用策略模式优化代码结构
点击右上角即可分享
微信分享提示