问题标签 [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.
bash - 无法测试文件是否存在于 Bash 中
考虑以下 Bash 脚本:
尽管我知道 ~/.bash_profile 存在,但我总是被“跳过”。为什么?
postgresql - 当我们在 postgres 中将路径定义为 '~/path/to/csv' 时,没有这样的文件或目录
如果我将路径定义为'/home/rihiraj12/outputcsvre.csv'
,它工作正常。
bash - 在波浪号之前展开变量
我确定以前有人问过这个问题,但我找不到任何东西。我们在共享机器上有难以理解的登录名,并希望使用 shell 变量来替换难以记住的登录名来代替人们的真实姓名。
例如,假设 Omar 的登录名是 xyz123。我可以做这个:
并且输出看起来不错:
但如果我输入这个:
有一个错误:
我认为这是因为波浪号扩展发生在变量扩展之前,但无法弄清楚如何解决这个问题。
尽管我不确定,但也许这个答案是相关的: How to manual expand a special variable (ex: ~ tilde) in bash
angular - 是否有任何官方文档指定〜(波浪号)解析为 Angular scss 导入路径中的 node_modules/ ?
~
在 scss 导入路径中使用波浪号 ( ) 时,它会node_modules/
在 Angular 中扩展为。是否有任何官方文档说这是 Angular 或 webpack 的功能?
到目前为止,我在这件事上发现的只是一些关于以前 Angular 版本的错误报告,说它已经坏了,还有一条评论说这是一个不应该依赖的实现细节。
我希望做一个ng eject
并检查配置,但该命令不再可用。
如果有人能指出我的一些官方文档说明~
是路径的简写node_modules/
,或者指定替换的一段源代码(例如配置文件),我将不胜感激。:)
基本上,我想弄清楚为什么会这样,以及如何。
bash - Bash - 在环境变量中解析〜错误
我有环境变量export MY_WORK_DIR="~/project"
。当我使用下面的命令时,它给了我一个错误:
在我的猜测中,~
使用此环境变量时不会处理 。
顺便说一句,export MY_WORK_DIR=~/project
对我来说不是一个选择。~
应该在字符串中。
您能否指导我如何从环境变量中获取真实路径~/project
?
编辑
对不起。该变量来自其他应用程序,因此我无法修改包含波浪号的环境变量。(使用波浪号扩展形式存储变量不是一种选择)。
编辑2
使用这样的命令是否安全eval
?eval "echo ${MY_WORK_DIR}"
. 它适用于我的使用。
bash - 将相对地址作为输入以在 bash 脚本中读取
我是 bash 脚本的初学者,对不起,如果我的问题有点像菜鸟。我编写了一个脚本来创建配置并将其保存到从用户那里获取的目录中。问题是当我输入目录的路径作为相对路径时脚本不起作用,但是当我输入绝对路径时它正在工作。
例如:对于这样的事情,如果我运行以下脚本,例如:
它工作正常。但是当我写这样的相对路径时:
我真的很感激如果你帮我以最短的方式解决这个问题,因为我的脚本已经很长了!!我也想知道问题的原因。
这里是 eval 命令的链接: https ://imgur.com/a/B8yY86W
bash - 在编写 BASH 脚本时使用 scp:“没有这样的文件或目录”
我写了一个脚本,它会压缩一个文件夹,然后再存储它。到目前为止,这工作得很好。但现在我想使用 scp 发送它。我想使用 eval 以便可以轻松更改它们。但是当我使用它将文件发送到某个目的地时,它总是告诉我该目录或文件不存在。如果我在没有 $scriptd 的情况下这样做,那么它就像一个魅力。
任何想法为什么?
bash - 尝试在 bash 中创建 scp 命令
我正在尝试创建一个简单的 bash 脚本,它将目录路径作为输入并将它们插入到 scp 命令中。scp 命令如下所示:
我做了一个简单的bash函数,
将此脚本作为
s2h ~/testing/somefile.txt ~/Desktop
回显命令输出运行后
这个带有 /Users/me 的特殊路径适用于我的本地机器。问题是 bash 将服务器的“~”解释为我本地机器的“~”。如果我输入
它完美地工作。
然而,命令
也有效。
我的问题是,当从我的服务器从参数调用文件时,如何让 bash 脚本理解 ~ 的含义,而不是将其翻译为 ~ 的本地含义?
bash - 如何在双引号路径引用中使用`~`
此命令将导致错误
虽然这些命令运行良好
有什么区别?如果路径中有空格,我可以做些什么来在双引号中包含“~”。