问题标签 [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.

0 投票
2 回答
2295 浏览

windows - windows文件模式中的波浪号是什么意思

我有模式要搜索。说“*.txt”。

现在我有一些我不想在那里列出的文件。我相信他们不符合这种模式。但在窗户上,它们确实如此。

我知道波浪号字符用于制作旧版 8.3 文件名的短格式。也就是说 LongFilename.json 可能是 LONGFI~1.JSO。但我不知道它们是在文件搜索模式中的 Windows 上以某种方式处理的。他们是。我找不到任何关于它们的含义以及如何以我的方式匹配文件的文档。

我的问题不在于简短的表格。或者我认为它与它没有直接关系。

我有文件“A.txt”。现在我想要临时文件并使用“A.txt~”。它是通常不可见的 unix 备份文件。但在 Windows 上,它们本身不应该有特殊含义。仅适用于我的应用程序。

现在我想要“* .txt”文件的列表。命令 dir *.txt 令我惊讶的是同一目录中的所有 .txt~ 文件。我不想要他们。我使用 Win32 API 中的 FindFileFirst。我在文档中没有找到任何关于波浪字符的信息。FindFileFirst(". txt", handle) 还返回文件“A.txt~”。我可以使用一些标志来排除它们吗?我知道我可以做出特殊的条件,就像我对“。”所做的那样。和 ”..”。~ 运算符如何工作?A.txt~1 也匹配。波浪号之后的所有内容都被忽略了吗?这是功能还是错误?

我正在 Windows 7 Professional 64 版上进行测试,如果这有什么改变的话。

0 投票
1 回答
220 浏览

home-directory - 波浪号前缀返回无效的主目录

我正在尝试使用 UNIX (Solaris/AIX) 框查找用户的主目录

这确实会返回所有有效用户的主目录。出于某种原因,此命令还输出主目录,对于似乎没有对该服务器的登录访问权限的少数用户来说,该主目录是不存在的。

例如。对于不存在的用户,上述命令将在下面返回 -

/home/用户名

我所期望的是

~用户名

作为没有访问权限的用户的输出,并且某些用户名确实会发生这种情况。

这让我想到什么可能导致无法访问该服务器的不同用户之间存在差异。这与LDAP有关吗?

我在 /etc/passwd 中也找不到任何东西。

0 投票
1 回答
95 浏览

bash - Linux路径中的斜杠何时需要在bash脚本中的引号之外

为什么第一个扩展不起作用,而第二个扩展呢?

我知道波浪号必须在引号之外展开,但斜线也必须在外面,出乎意料。

0 投票
0 回答
1386 浏览

nginx - nginx.conf 中的波浪号(~)用于相对路径

我想使用波浪号(〜)指向/home/user目录,因为我想在生产中拥有相对路径,但似乎在 nginx.conf 文件中不起作用,尽管它适用于.ini文件。还尝试了 $HOME 和 $(HOME)

location / { uwsgi_pass django; include ~/qa/web/projects/dynamic_testbeds/uwsgi_params; }

我错过了什么?

0 投票
0 回答
27 浏览

bash - 如何使用波浪号扩展从使用波浪号表示路径的 Bash 变量中获取完整路径?

假设我有以下变量集:

我怎样才能使用这个变量来创建它描述的目录?我尝试通过mkdir以下方式使用它:

当我这样做时,会在工作目录中创建目录“~”,并在其中创建子目录“trash”。如何使用波浪号扩展来获取完整路径,以便mkdir可以做我想做的事情?

0 投票
2 回答
1905 浏览

shell - 波浪号 (~/) 不适用于 Shell 脚本中的 if then 语句

我有以下脚本

我知道我的文件在那里,我认为这可能与 ~/ ?

它永远找不到文件

0 投票
1 回答
387 浏览

bash - 评估 $PATH 时的波浪号扩展

在我的系统上*

将找到脚本tempdir/tempscript并打印h

但是,如果我们 echo $PATH,我们会看到~/tempdir它的末尾,所以它没有被扩展。这是我们期望发生的,因为我们在赋值两边加上了双引号。

但是,我找不到任何文档说明为什么在评估$PATH. (请注意,PATH 变量中仍然包含~。)

这是便携式行为吗?

* 带有 GNU bash 3.2 的 Mac OS X

0 投票
2 回答
242 浏览

bash - 将波浪号扩展与bash中的变量替换相结合

假设我以 root 身份运行 bash,并且我想 chown 用户的主目录ada。还要说它ada存储在一个名为的变量中$USER(因为我是从脚本中执行此操作的)。

当我尝试以下操作时,

外壳首先执行波浪号扩展,因此它尝试 chown /home/root/ada,而不是/home/ada.

有没有办法通过嵌套的替换和正确的转义来做到这一点?

0 投票
1 回答
106 浏览

java - 采用相对命令行参数...在 Java 中

不,我不是指相对于项目或工作目录。我的意思是下面的命令java -jar myJar.jar ~/应该提供一个字符串"/home/user"......这似乎没有按预期工作。我正在通过 Eclipse 的“运行配置”菜单传递参数,但不确定这是否会导致问题。同样的结果来自一个可运行的 Jar ......它抛出了一个格式错误的 URL 异常......但 URI 也不喜欢它

有人知道实现此功能的方法吗?这样一个参数~/被传递到(String[] args)as "/home/user"

0 投票
1 回答
5878 浏览

linux - 为什么路径中的波浪号没有在 shell 脚本中展开?

我试图让 Android Studio 启动器 (studio.sh) 使用我手动安装的 Java(不是系统范围的默认 Java)。由于我已经在我的文件中声明了PATH,我只是在 shell 脚本中获取了该文件:JAVA_HOME.bashrc

. /home/foobar/.bashrc

但由于某种原因,$JAVA_HOME/bin/java脚本仍未将其识别为可执行文件。

我添加了一些日志记录,发现它JAVA_HOME被扩展为 ~/install/java...,即波浪号运算符没有扩展到主目录。

我做了一些搜索,但找不到任何不扩展的原因。波浪号是 Bash 特有的功能吗(脚本使用#!/bin/sh,Linux Mint 使用破折号,而不是 bash)?波浪号在某些情况下不起作用吗?

我在声明中替换~为,然后它起作用了,所以 HOME 在运行时是已知的。$HOME.bashrc