问题标签 [variable-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 回答
2011 浏览

shell - Shell参数扩展:如何获取没有目录部分的文件名?

我正在编写一个makefile,并假设我有以下内容;

我有以下for循环:

以上将打印:

我想要的输出是:

我查看了一些关于 shell 扩展的文档,但还没有找到解决这个问题的方法。我可以知道我应该如何更改代码以获得正确的输出吗?任何帮助将不胜感激。

编辑:语法

0 投票
4 回答
330 浏览

linux - bash - 尝试通过管道将命令运行到单独的函数时出错

我正在尝试使用此功能来轻松并行化我的 bash 脚本工作。这个想法很简单;我不是按顺序运行每个命令,而是将我想运行的命令传递给这个函数,它在读取行时执行;为我运行 bg 中的工作并照顾后勤....虽然它不起作用。我在执行东西的地方添加了 set -x ,看起来我在想要执行的东西周围得到了奇怪的引号......我该怎么办?

当我运行它时,我得到如下输出:

0 投票
2 回答
1295 浏览

random - Windows 批处理文件 - 在一个文件夹中选择(最多)四个随机文件

正如标题所说,我正在尝试从一个文件夹中选择最多四个随机文件(壁纸),以进行进一步处理。该文件夹不包含子文件夹,只有 *.jpg's、*.bmp's 和 *.png's(它可能包含 Thumbs.db 文件,但我已经处理好了)。

我读了所有用for循环的文件,制作类似于数组的文件,然后我想运行另一个for循环以制作将作为选择文件的索引的随机数。


当然,回显的行只是输出Wallpaper 1 is #118 - Title: "118"而不是Wallpaper 1 is #118 - Title: "C:\Wallpapers\Miami Skyline.jpg".

所以我的具体问题是:如何在for循环内双重扩展变量?

[注#1:创建随机数的行需要很长,因为它提供了良好的随机值分布]
[注#2:我需要wps这样存储,因为有时我可能只需要三张壁纸,而不是必须按数字顺序]

0 投票
2 回答
572 浏览

bash - 如何在bash参数中保持引用的字符串

我有一个 Bash 脚本,它传递模式并切换到 grep。

而且,当然,myscript SomeText有效但myscript "Text1 Text2"无效。将参数从脚本传递给 foo() 然后从 foo() 传递给 grep 时,有没有办法保留引号?

请注意,我不能简单地使用 eval 并将整个 $@ 包装在 grep 之前,因为它也可以包含开关,所以我需要保留从命令行传递的原始引用。

谢谢。

0 投票
1 回答
666 浏览

templates - Rebol 中的“reword”功能是什么?如何使用它?

我今天看到有人提到了这个reword功能,但是它的文档非常简短。它看起来像 shell 脚本环境变量替换,或者可能是正则表达式替换,但不同。我如何使用这个功能,我会遇到什么样的陷阱?

0 投票
5 回答
4915 浏览

string - 如何延迟 PowerShell 字符串中变量的扩展?

无论您想怎么称呼它,我都在尝试找出一种方法来获取现有字符串的内容并将它们评估为双引号字符串。例如,如果我创建以下字符串:

然后,Write-Host $string会产生The $animal says "meow". 如何重新评估 $string 以输出(或分配给新变量)The cat says "meow"


多么烦人……注释的限制使得包含反引号的代码变得非常困难(如果可能的话)。这是我在下面回复 zdan 时所做的最后两条评论的未修改版本:

----------

实际上,经过考虑,我意识到在The $animal says "meow"不转义双引号的情况下期望进行插值是不合理的,因为如果它是一个以双引号开头的字符串,那么如果不转义双引号,评估就会中断。所以我想答案是,这是一个两步过程:

给后人的最后一条评论:我尝试了将所有这些都放在一条线上的方法,几乎​​所有你认为可行的东西一旦你将它提供给 iex 就会中断,但这个可行:

0 投票
1 回答
712 浏览

python - python中使用字典的变量扩展

我面临以下问题;

在我的脚本中的某个地方,我定义了一个函数

我从脚本的末尾调用这个函数,如下所示:

但是我收到以下错误:

为什么会发生这种情况,我该如何解决?

谢谢大家!

0 投票
3 回答
737 浏览

python - Python 正则表达式中的变量扩展

我正在尝试用 Python 编写一个脚本,它“清理”许多文件输入的文本,如下所示:

一个示例文件是: 1. Hello, World 2. Hello earth

我需要在这里做的是一举删除编号和点以及前导空格。但是我到底如何才能首先执行一个简单的变量扩展呢?

谢谢大家。

0 投票
4 回答
5981 浏览

bash - 在make中未设置变量时获取默认值

(编辑:基于@Michael反馈的问题更准确)

在 bash 中,我经常使用参数扩展:以下命令在未设置default value时打印“” $VARNAME,否则打印 VARNAME 内容。

没有在 GNU 上找到类似的功能make。我终于在我的Makefile

但我对这个解决方案不满意:它总是创建变量VARNAME,这可能会改变某些 makefile 的行为。

有没有更简单的方法来获取未设置变量的默认值?

0 投票
1 回答
5216 浏览

bash - ln 抱怨没有这样的文件或目录

我是 macosx 上的 shell 编程新手,有一点问题。我编写了以下 shell 脚本:

当我执行此脚本时,我收到消息ln: ~/.netrc: No such file or directory我不知道为什么会这样!你看到错误了吗?谢谢!