问题标签 [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.
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 版上进行测试,如果这有什么改变的话。
home-directory - 波浪号前缀返回无效的主目录
我正在尝试使用 UNIX (Solaris/AIX) 框查找用户的主目录
这确实会返回所有有效用户的主目录。出于某种原因,此命令还输出主目录,对于似乎没有对该服务器的登录访问权限的少数用户来说,该主目录是不存在的。
例如。对于不存在的用户,上述命令将在下面返回 -
/home/用户名
我所期望的是
~用户名
作为没有访问权限的用户的输出,并且某些用户名确实会发生这种情况。
这让我想到什么可能导致无法访问该服务器的不同用户之间存在差异。这与LDAP有关吗?
我在 /etc/passwd 中也找不到任何东西。
bash - Linux路径中的斜杠何时需要在bash脚本中的引号之外
为什么第一个扩展不起作用,而第二个扩展呢?
我知道波浪号必须在引号之外展开,但斜线也必须在外面,出乎意料。
nginx - nginx.conf 中的波浪号(~)用于相对路径
我想使用波浪号(〜)指向/home/user
目录,因为我想在生产中拥有相对路径,但似乎在 nginx.conf 文件中不起作用,尽管它适用于.ini
文件。还尝试了 $HOME 和 $(HOME)
location / {
uwsgi_pass django;
include ~/qa/web/projects/dynamic_testbeds/uwsgi_params;
}
我错过了什么?
bash - 如何使用波浪号扩展从使用波浪号表示路径的 Bash 变量中获取完整路径?
假设我有以下变量集:
我怎样才能使用这个变量来创建它描述的目录?我尝试通过mkdir
以下方式使用它:
当我这样做时,会在工作目录中创建目录“~”,并在其中创建子目录“trash”。如何使用波浪号扩展来获取完整路径,以便mkdir
可以做我想做的事情?
shell - 波浪号 (~/) 不适用于 Shell 脚本中的 if then 语句
我有以下脚本
我知道我的文件在那里,我认为这可能与 ~/ ?
它永远找不到文件
bash - 评估 $PATH 时的波浪号扩展
在我的系统上*
将找到脚本tempdir/tempscript
并打印h
。
但是,如果我们 echo $PATH
,我们会看到~/tempdir
它的末尾,所以它没有被扩展。这是我们期望发生的,因为我们在赋值两边加上了双引号。
但是,我找不到任何文档说明为什么在评估$PATH
. (请注意,PATH 变量中仍然包含~
。)
这是便携式行为吗?
* 带有 GNU bash 3.2 的 Mac OS X
bash - 将波浪号扩展与bash中的变量替换相结合
假设我以 root 身份运行 bash,并且我想 chown 用户的主目录ada
。还要说它ada
存储在一个名为的变量中$USER
(因为我是从脚本中执行此操作的)。
当我尝试以下操作时,
外壳首先执行波浪号扩展,因此它尝试 chown /home/root/ada
,而不是/home/ada
.
有没有办法通过嵌套的替换和正确的转义来做到这一点?
java - 采用相对命令行参数...在 Java 中
不,我不是指相对于项目或工作目录。我的意思是下面的命令java -jar myJar.jar ~/
应该提供一个字符串"/home/user"
......这似乎没有按预期工作。我正在通过 Eclipse 的“运行配置”菜单传递参数,但不确定这是否会导致问题。同样的结果来自一个可运行的 Jar ......它抛出了一个格式错误的 URL 异常......但 URI 也不喜欢它
有人知道实现此功能的方法吗?这样一个参数~/
被传递到(String[] args)
as "/home/user"
?
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