【问题标题】:Clarification regarding the usage of shell variables [closed]关于使用 shell 变量的说明 [关闭]
【发布时间】:2016-11-04 15:03:24
【问题描述】:

我对 linux 很陌生,我尝试自己学习它。所以,我对以下命令$SHELL, $UID 和类似命令有疑问。当我输入echo $SHELL 时,我得到的输出是/bin/bash。

这句话是什么意思? 谢谢

【问题讨论】:

  • 你为什么要问我们你的问题是什么意思?
  • @Serenity — 不,这与 shebang 线无关。
  • 你问什么是变量?
  • here 是 RTFM 链接。
  • 是什么让你输入echo $SHELL

标签: bash


【解决方案1】:

以美元符号 ($) 开头的不是命令,而是变量的扩展。例如: HOME 是变量的名称,$HOME 扩展为变量 HOME 中当前的值。 实际上,使用更完整的形式 ${HOME} 而不是 $HOME 更清晰,并且可以对表示进行操作。例如 ${HOME^^} 表示变量 HOME 的内容转换为大写。

echo 是一个命令并打印到屏幕上,你跟随的就是 echo。

因此,echo $SHELL 打印了 SHELL 变量的内容。

一些标准变量,如 SHELL、UID、HOME 等,会在您登录时自动为您创建。

【讨论】:

  • 从技术上讲,以美元符号开头的东西不是变量,而是变量的扩展。 (就像在数学中一样,f(x) 不是函数,函数是 f)。变量为SHELL$SHELLSHELL的扩展。
  • @gniourf_gniourf 是的,但从问题和信息来看我对 linux 还是很陌生,我认为这么多的技术比有用更令人困惑。
  • @kkeller,IMO gniourf_gniourf 与其说是技术性的,不如说是准确的。如果您 RT*M、5.2 Bash Variables,您可以清楚地看到列出的 Bash 变量前面没有 $。然后阅读 3.5 Shell 扩展部分,其中“参数和变量扩展”的后者适用于此处。 IMO 没有比第一次学习更准确(和技术)的时间了。 RT*M 并从头开始学习! ;)
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2013-09-19
  • 2011-03-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多