【问题标题】:Difference between $HOME and '~' (tilde)?$HOME 和'~'(波浪号)之间的区别?
【发布时间】:2012-07-20 04:50:57
【问题描述】:
我一直认为$HOME 和~ 完全一样,因此可以
可以互换使用。今天,当我尝试安装 pylibmc 时,一个 python
绑定到 memcached,在我的共享服务器上使用 ~ 给了我错误但没有
$HOME。我想说明原因。
libmemcached 是 pylibmc 的要求。我已经安装了 libmemcached
在我的主目录下,因为我在服务器上没有根。结果,到
安装 pylibmc,我需要确保安装脚本知道在哪里
找到 libmemcached。
执行python setup.py install --with-libmemcached=~时,安装
脚本运行
gcc -pthread -fno-strict-aliasing -g -O2 -DNDEBUG -g -fwrapv -O3 -Wall \
-Wstrict-prototypes -fPIC -DUSE_ZLIB -I~/include \
-I/usr/local/include/python2.7 -c _pylibmcmodule.c \
-o build/temp.linux-i686-2.7/_pylibmcmodule.o -fno-strict-aliasing
这给出了 libmemcached 找不到的错误。
如果我更改为--with-libmemcached=$HOME,则脚本运行
gcc -pthread -fno-strict-aliasing -g -O2 -DNDEBUG -g -fwrapv -O3 -Wall \
-Wstrict-prototypes -fPIC -DUSE_ZLIB -I/home/waterbotte/include \
-I/usr/local/include/python2.7 -c _pylibmcmodule.c \
-o build/temp.linux-i686-2.7/_pylibmcmodule.o -fno-strict-aliasing
没有任何问题。看起来问题是波浪号没有得到解决。但为什么呢?
【问题讨论】:
-
我认为波浪号是一种命令行便利。在脚本中,应始终使用$HOME。
标签:
linux
bash
centos