Yana Shetko Asked: 2020-01-10 17:04:54 +0800 CST2020-01-10 17:04:54 +0800 CST 2020-01-10 17:04:54 +0800 CST 为什么 shell 在命令 echo $VERSION 后不显示任何内容 772 有人可以告诉我为什么我的命令语言解释器 shell 在命令后显示一个空字符串作为结果 $ 回声 $VERSION 并且仅在执行此命令后 $ . /etc/os-release 它开始向我展示该命令的结果 $ 回声 $VERSION 18.04.3 LTS(仿生海狸) 请你解释一下那个命令之后会发生什么?为什么shell之前没有显示它?为什么shell现在显示它? linux shell 1 个回答 Voted Best Answer Abdurrahim 2020-01-10T17:39:09+08:002020-01-10T17:39:09+08:00 运行 "./etc/os-release" 将运行当前 shell 中文件 "/etc/os-release" 中的所有行;您正在采购的文件似乎有如下一行,它将在您的会话中设置环境变量“VERSION”: VERSION="18.04.3 LTS (Bionic Beaver)" 如果你使用 bash,那么“source”会给你同样的结果:“source /etc/os-release” 您可以详细检查这些:https ://ss64.com/bash/source.html或https://superuser.com/questions/46139/what-does-source-do
运行 "./etc/os-release" 将运行当前 shell 中文件 "/etc/os-release" 中的所有行;您正在采购的文件似乎有如下一行,它将在您的会话中设置环境变量“VERSION”:
如果你使用 bash,那么“source”会给你同样的结果:“source /etc/os-release”
您可以详细检查这些:https ://ss64.com/bash/source.html或https://superuser.com/questions/46139/what-does-source-do