首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >‘~’是一条相对的路径吗?

‘~’是一条相对的路径吗?
EN

Ask Ubuntu用户
提问于 2014-08-27 13:19:51
回答 2查看 16.3K关注 0票数 37

我正在尝试提取Nvidia cuda库安装程序的不同部分。我使用以下命令:

代码语言:javascript
复制
mkdir ~/Downloads/nvidia_installers
./cuda_6.5.14_linux_64.run -extract=~/Downloads/nvidia_installers

我得到了以下信息:

代码语言:javascript
复制
ERROR: extract: path must be absolute.

当我用我家的文字地址输入命令时,它工作得很好。

代码语言:javascript
复制
./cuda_6.5.14_linux_64.run -extract=/home/likewise-open/XXX/username/Downloads/nvidia_installers

我很困惑,是不是应该是/home/同样-打开/XXX/用户名?

经测试:

代码语言:javascript
复制
./cuda_6.5.14_linux_64.run -extract=$HOME/Downloads/nvidia_installers

但是我不知道为什么它不允许~

EN

回答 2

Ask Ubuntu用户

发布于 2014-08-27 13:54:34

~本身并不是一条路径。它是一个从shell中得到特殊处理的字符,其中~~/的意思是“用当前用户的主目录路径替换”。~username的意思是“用用户名的主目录路径替换”。

因为它不是路径,所以它只在命令中的某些位置被识别(作为新的空间分割标记的第一个字符)。

当它展开时,它被一条绝对路径所取代。

使用$HOME可以工作,因为HOME只是shell设置的变量,并且遵循变量替换的普通shell规则(在输入在空格上拆分并执行之前)。

票数 3
EN

Ask Ubuntu用户

发布于 2014-08-27 13:24:20

你是对的。下载与/home/用户名/下载相同。

有些安装程序和提取程序只是非常挑剔,它需要放在哪里的东西。我认为这可能是因为它记录了文件,而日志不会在接受的路径中接受~。

我只是习惯了输入/home/username。:)

票数 1
EN
页面原文内容由Ask Ubuntu提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://askubuntu.com/questions/516702

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档