问题标签 [tilde-expansion]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
perl - 如何在 Perl 中找到用户的主目录?
我需要检查用户主目录中的文件是否存在,因此使用文件检查:
即使在用户的主目录下有一个名为foo.txt的文件,Perl 总是抱怨没有这样的文件或目录。当我将“~”替换为/home/jimmy(假设用户是 jimmy)时,Perl 会给出正确的判断。
你能解释一下为什么“~”在 Perl 中不起作用并告诉我 Perl 查找用户主目录的方法是什么?
objective-c - Objective-C 中基于波浪号的路径
在 Objective-C 中,如何将基于波浪号的路径名转换为完整路径名?也就是说,我想从 转换~/sandbox
为/Users/TheBobs/sandbox
。
bash - have to determine all users home directories - tilde scripting problem
Assume someuser has a home directory /home/someuser
NAME=someuser
In bash - what expression to I use combining tilde (~) and $NAME to return the users home directory?
any suggestions?
c++ - 为什么QFile不能从“~”目录中读取?
我尝试了以下简短示例来找出我正在处理的更大程序中的错误。看起来 QFile 不支持主目录的 unix(或 shell 的)表示法:
只要我用我的真实主目录路径替换“~”,它就可以工作。是否有一个简单的解决方法 - 启用一些设置?还是我必须采用“丑陋”的方式向 QDir 询问当前用户的主目录并手动将其添加到每个路径?
附录:很明显,shell 通常会执行波浪号扩展,因此程序永远不会看到。在 unix shell 中它仍然非常方便,我希望用于文件访问的 Qt 实现将包含该扩展。
bash - 如何在 bash 中手动扩展特殊变量(例如:〜波浪号)
我的 bash 脚本中有一个变量,其值如下所示:
请注意,它是未扩展的波浪号。当我对这个变量执行 ls -lt(称为 $VAR)时,我没有得到这样的目录。我想让 bash 解释/扩展这个变量而不执行它。换句话说,我希望 bash 运行 eval 但不运行评估的命令。这在bash中可能吗?
我是如何设法在不扩展的情况下将其传递到我的脚本中的?我通过用双引号括起来的参数。
试试这个命令看看我的意思:
这正是我所处的情况。我希望扩大波浪号。换句话说,我应该用什么替换魔法以使这两个命令相同:
和
请注意,~/abc/def/ghi 可能存在也可能不存在。
linux - 环境变量中的波浪号扩展
在我的 .sh 文件中,我有这个,cp $file $SOME_PATH
, 而$SOME_PATH
导出为export SOME_PATH="~/path/to/path/"
. 但是当我运行这个 .sh 文件时,我收到错误消息说不存在这样的“~/path/to/path/”。
我替换~
为$HOME
,然后错误消失了。那么波浪号是怎么回事?
提前致谢。
perl - 如何让 Perl 识别带有 '~' 的路径?
可能重复:
如何在 Perl 中找到用户的主目录?
我正在运行 Ubuntu。
每当我向 Perl 脚本传递一个以~
(eg ~/Documents/file.txt
) 开头的路径时,它都找不到它。我必须通过规范路径(例如/home/dave/Documents/file.txt
)。
这是为什么?
我可以让 Perl 识别~
路径吗?
更新
所有建议的解决方案都包括更改脚本中的代码。我想要一个不涉及对脚本本身进行任何更改的解决方案(因为并非所有脚本都是我的)。也许是 Bash 的工作方式?
该问题的更新版本已发布在 Super User。
bash - Bash 波浪号扩展
是否可以添加 bash 用于波浪号扩展的规则?我想让 ~data 扩展到 /data/users/me,~scratch 扩展到 /data/scratch/me 等等。这可能吗,还是 bash 对“~”的控制太紧了?
谢谢,
安德鲁
bash - 路径中的波浪号不会扩展到主目录
假设我有一个名为的文件夹Foo
(/home/user/
我/home/user
也由 表示~
)。
我想要一个变量
a="~/Foo"
然后做
cd $a
我明白了
-bash: cd: ~/Foo: No such file or directory
但是,如果我这样做cd ~/Foo
,效果很好。关于如何让它工作的任何线索?
shell - 为什么在 shell 脚本中使用 $HOME 而不是 ~ (波浪号)?
是否有任何理由在 shell 脚本中使用变量$HOME
而不是简单的(波浪号)?~