关于使用 shell 变量的说明 [关闭]
Posted
技术标签:
【中文标题】关于使用 shell 变量的说明 [关闭]【英文标题】:Clarification regarding the usage of shell variables [closed] 【发布时间】:2016-11-04 15:03:24 【问题描述】:我对 linux 很陌生,我尝试自己学习它。所以,我对以下命令$SHELL, $UID
和类似命令有疑问。当我输入echo $SHELL
时,我得到的输出是/bin/bash。
这句话是什么意思? 谢谢
【问题讨论】:
你为什么要问我们你的问题是什么意思? @Serenity — 不,这与 shebang 线无关。 你问什么是变量? here 是 RTFM 链接。 是什么让你输入echo $SHELL
?
【参考方案1】:
以美元符号 ($) 开头的不是命令,而是变量的扩展。例如: HOME 是变量的名称,$HOME 扩展为变量 HOME 中当前的值。 实际上,使用更完整的形式 $HOME 而不是 $HOME 更清晰,并且可以对表示进行操作。例如 $HOME^^ 表示变量 HOME 的内容转换为大写。
echo
是一个命令并打印到屏幕上,你跟随的就是 echo。
因此,echo $SHELL
打印了 SHELL 变量的内容。
一些标准变量,如 SHELL、UID、HOME 等,会在您登录时自动为您创建。
【讨论】:
从技术上讲,以美元符号开头的东西不是变量,而是变量的扩展。 (就像在数学中一样,f(x) 不是函数,函数是 f)。变量为SHELL
,$SHELL
是SHELL
的扩展。
@gniourf_gniourf 是的,但从问题和信息来看我对 linux 还是很陌生,我认为这么多的技术比有用更令人困惑。
@kkeller,IMO gniourf_gniourf 与其说是技术性的,不如说是准确的。如果您 RT*M、5.2 Bash Variables,您可以清楚地看到列出的 Bash 变量前面没有 $
。然后阅读 3.5 Shell 扩展部分,其中“参数和变量扩展”的后者适用于此处。 IMO 没有比第一次学习更准确(和技术)的时间了。 RT*M 并从头开始学习! ;)以上是关于关于使用 shell 变量的说明 [关闭]的主要内容,如果未能解决你的问题,请参考以下文章