当我echo $CATALINA_HOME
得到一个空白行时,但是当我ls $CATALINA_HOME
正确获得目录列表时。为什么我不能回应它?我正在运行 Ubuntu 11.04。
答案1
因为ls $CATALINA_HOME
会扩展$CATALINA_HOME
为空字符串,因此只需执行ls
(或者ls .
说是迂腐的说法)。要么您已经位于正确的目录中,要么您没有得到您认为的内容。
答案2
没有环境变量$CATALINA_HOME,除非您事先定义它。您可以看到,如果使用空变量或未定义的变量调用,ls 的输出将始终显示当前目录(不一定是您的主目录!):
ls $BLABLABLA
当前用户的主目录存储在$HOME中:
echo $HOME
当前用户名存储在$USER中:
echo $USER
仅ls
使用 $HOME 调用才会始终列出当前用户主目录的内容。