我认为你不能使用$ENV
,它只是一个变量的例子,因为它们是环境变量。然而,你应该能够输入env
并回车,以获取你当前设置的变量列表。然后,在列表中看到的变量,你可以通过在它们前面使用命令来调用它们执行一些操作,例如:echo $VARIABLE
将你的变量回显到标准输出。
我不确定$ANDROID_SDK
是如何设置的,是否是安装过程的一部分等等,但通常你会在.profile
、.bash_profile
或.bashrc
配置文件中设置用户环境变量。这些文件按照顺序由shell读取。系统级别的变量则设置在/etc/environment
、/etc/profile
和/etc/bash.bashrc
中,但你可能不想随便更改它们(大多数发行版鼓励在/etc/profile.local
中进行辅助添加,但这是另一个答案的故事)。
使用这些文件中的哪一个并不特别重要,除非你尝试的操作与它们被加载的顺序有关。通常,我会查找变量是由操作系统或其他我添加的内容设置的位置,并将它们放在附近。你可以通过输入以下命令来查找环境变量的设置位置:
% for i in .profile .bash_profile .bashrc; do grep -H PATH $HOME/$i; done
(%
是提示符,不要输入 %
)
这将循环遍历 3 个文件,并显示用户是否在其中任何一个文件中设置了 $PATH
。
Bash 使用 export ENV
命令,而不是来自原始 sh 的 set ENV
命令,据我所知,后者只在 FreeBSD 和类似 pfSense 的衍生产品上是默认的。几乎所有其他操作系统都默认使用 Bash,除了最近转向 zsh 并且也使用 export
的 MacOS,以及使用 ksh(没有人使用 OpenBSD)的 OpenBSD。
如果您想验证正在使用哪个 shell,请键入 echo $SHELL
或 echo $0
并按回车键,它应该会告诉您。
您可以通过在 bash 终端中键入此命令并按回车键来短暂添加环境变量:
% export ANDROID_SDK_ROOT=/home/username/AndroidSDK
明确一下,这是一个示例路径,因此最好使用您的Android SDK文件实际所在的路径。 但是,这个示例是Android Studio尝试在我最近安装它时使用的默认安装位置,因此如果您不确定它们在哪里,那么这可能是一个好地方进行检查。
为了拥有更持久的环境变量设置,请打开文本编辑器并将上面的行添加到我在第一段中提到的配置文件之一中(它们将位于您的$HOME
文件夹中)。 或者,您可以从提示符中运行此命令,它将自动将其添加到您的文件中:
% echo 'export ANDROID_SDK_ROOT=/home/username/AndroidSDK' >> $HOME/.bashrc
请注意使用两个尖括号而不是一个,因为一个尖括号会用单行覆盖整个文件。
如何访问任何环境变量?
如果您不确定哪个文件夹是$HOME
,请尝试输入cd $HOME
并按回车键-这将带您到那里。这就是如何访问环境变量-使用带有变量调用的命令,它应该像您键入整个内容一样运作。
要访问环境变量,请键入echo $NAME_OF_VARIABLE
,它应该将其回显到屏幕上。如果您想在我之前提到的三个配置文件中搜索设置环境变量的位置,则可以像我之前所做的那样使用grep
,只需更改搜索字符串即可找到您要查找的内容。例如(在$HOME
中):
% grep SDK_ROOT .bashrc .profile .bash_profile
或者您可以输入env
来列出所有当前设置的变量,并通过将输出导入到grep
命令来过滤它们:
% env | grep SDK
如果您只想列出所有的設定變數和根目錄,只需輸入
env
而不是將其傳送到
grep
(
grep
是一種過濾器)。
最後,我會在我的
.bashrc
中給您展示我的
$ANDROID_SDK_ROOT
、
$ANDROID_SDK
和
$SDK_ROOT
變量的例子- 我注意到在安裝這些工具時,它們都使用了這三個變量(這不是很有趣嗎?)。
% grep ANDROID .bashrc
export ANDROID_SDK=$HOME/development/Android/SDK
export ANDROID_SDK_ROOT=$HOME/development/Android/SDK
export PATH=$PATH:$ANDROID_SDK:$JAVA_HOME:$ANDROID_SDK/cmdline-tools/latest/bin:$ANDROID_SDK/build-tools/32.0.0:$ANDROID_SDK/emulator:$ANDROID_SDK/emulator/bin64:$ANDROID_SDK/tools:$ANDROID_SDK/tools/bin:$ANDROID_SDK/extras:$ANDROID_SDK/platform-tools:$HOME/development/AndroidStudio/bin
export ANDROID_STUDIO=$HOME/development/AndroidStudio
% grep SDK_ROOT .bashrc
export SDK_ROOT=$HOME/development/Android/SDK
export ANDROID_SDK_ROOT=$HOME/development/Android/SDK
希望这回答了一些问题,很抱歉花了这么长时间才给你回复。