我正在尝试提取Nvidia cuda库安装程序的不同部分。我使用以下命令:
mkdir ~/Downloads/nvidia_installers
./cuda_6.5.14_linux_64.run -extract=~/Downloads/nvidia_installers
我得到了以下信息:
ERROR: extract: path must be absolute.
当我用我家的文字地址输入命令时,它工作得很好。
./cuda_6.5.14_linux_64.run -extract=/home/likewise-open/XXX/username/Downloads/nvidia_installers
我很困惑,是不是应该是/home/同样-打开/XXX/用户名?
经测试:
./cuda_6.5.14_linux_64.run -extract=$HOME/Downloads/nvidia_installers
但是我不知道为什么它不允许~
发布于 2014-08-27 05:54:34
~
本身并不是一条路径。它是一个从shell中得到特殊处理的字符,其中~
或~/
的意思是“用当前用户的主目录路径替换”。~username
的意思是“用用户名的主目录路径替换”。
因为它不是路径,所以它只在命令中的某些位置被识别(作为新的空间分割标记的第一个字符)。
当它展开时,它被一条绝对路径所取代。
使用$HOME
可以工作,因为HOME只是shell设置的变量,并且遵循变量替换的普通shell规则(在输入在空格上拆分并执行之前)。
发布于 2014-08-27 05:24:20
你是对的。下载与/home/用户名/下载相同。
有些安装程序和提取程序只是非常挑剔,它需要放在哪里的东西。我认为这可能是因为它记录了文件,而日志不会在接受的路径中接受~。
我只是习惯了输入/home/username。:)
https://askubuntu.com/questions/516702
复制相似问题