问题标签 [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.
ipython - ipython 变量扩展是如何工作的?
我不明白${}
第四个和第六个提示符在做什么,我找不到任何有关此的文档,这本书Python for Unix and Linux System Administrator
有一个类似于第六个提示符中的示例,其中变量不仅位于前面,$
而且也包含{}
在内以便将字符串嵌入另一个字符串中,如果我引用完整的表达式,它会起作用,但是在 [4 & 6] 中发生了什么?:
python - json数组的for循环中的python / bash变量扩展
这是我的问题。我有以下 bash 片段:
然后,我将“索引”变量(例如“MESSAGE1、RESULT1 或 RESULT2…x”)导出到 json 对象中,然后在 Web 表单中呈现数据。这不是最优雅的解决方案,但它可以对我来说。我是“蛮横”地强制创建 python 数组,意思是,我会列出以下内容:
我正在重新处理所有这些代码,以 1) 使其更易于维护,以及 2) 能够更轻松、更有效地将测试和结果添加到数组中。我认为 python 代码将是最简单的部分,我可以创建一个简单的 for 循环来为 bash 代码中的变量添加索引,然后动态创建 python 数组,但它没有成功好的。
这是我的实验性 Python 代码(最初是在外面编写的,用于测试理论),然后嵌入到 bash 脚本中:
在 bash之外运行它时,python 创建了以下数组,这正是我想要的:
(请记住,数组将继续为 46 个不同的 RESULT、MESSAGE 等,每个都将被索引,就像上面的蛮力示例)
但是,当在 bash 脚本中运行它时,我没有得到所有变量的变量扩展,只有那些没有添加索引的变量,所以 $BUILD 被添加,但 "$MESSAGE1" 没有,只有索引被添加:
现在,如果我将以下(os.environ.get)添加到 python:
我得到以下信息:
现在,而不是索引,我得到一个“空”值,这意味着我可能走在正确的轨道上,但我仍然卡住了,我想这里有人会很快看到我的方式错误并让我继续到正确的轨道。请记住,我不是最精通python的人,但我当然理解它,但一点帮助总是一件好事。
问题:如何在 bash 脚本中为嵌入式 python 代码安排变量扩展,其中所讨论的变量具有索引,例如上面的代码。
windows - 在 subst 命令中删除尾随 \
我已经通过 HKCR\Drive\shell\MapLocalDriveHere\command 中的注册表向我的上下文菜单添加了一个命令,这样当我右键单击驱动器时。我希望它给我右键单击的驱动器名称为“C:”而不是“C:\”,因为这会导致我尝试运行的命令出现问题。
这扩展为:
并且命令失败(它期望subst C: /D
)。如何获取没有尾随 \ 的参数,或将其删除?%~d1
并且%~1
不要从注册表项展开,键入 REG_EXPAND_SZ。
您可以通过查看位于https://github.com/Ehryk/ContextMenuTools的项目源来更好地理解我想要做什么(尤其是这个文件:https ://github.com/Ehryk/ContextMenuTools/blob /master/Custom%20Installs/Map%20Local%20Drive%20Here/MapLocalDriveHere.inf )
shell - 破解 shell 变量扩展的神话
最近,我听到一个故事,在一个 shell 脚本中,当它被使用时,花括号中的${variable}
变量从同名的环境变量中获取它的值(如果存在),但是如果它被用作$variable
一个,它的值来自局部变量正如它所期望的(并且应该是)..是真的吗?
因为据我所知$...
and${...}
是等价的形式,我从来没有遇到过这样的问题。除非是过去的误解,否则有人可以谈谈可能出现这种情况的条件。
bash - 带变量的大括号扩展?
会工作,显示欢迎 5 次。
不工作!howmany
将等于 5,因为这就是 的输出grep -c
将显示的内容。$1 是参数 1,它在运行脚本时是特定的。
有任何想法吗?
shell - 如何在 shell 脚本中在远程服务器上使用带有远程变量的数组?
这就是我想要做的......
当我尝试运行上述脚本时,我得到的 O/P 为 1 和一个空值(空格)。我希望 ${array_local[$index_remote} 值为 2 而不是 null,我需要使用远程变量访问这个本地数组,以便在脚本中进一步工作。
bash - 扩展为命令时变量中的 bash 引号处理不同
通过例子解释问题...
表明当变量展开时, --chapters 之后的单引号被转义(我没想到会这样):
现在由于某种原因 mkvpropedit 接收双引号作为文件名的一部分(我也没想到会这样):
上面的 echo'd 命令似乎是正确的。将相同的文本放在另一个脚本中会产生预期的结果:
任何人都可以解释为什么报价没有按预期运行。我发现搜索这个问题很困难,因为网络上有很多其他的引用讨论。如果没有例子,我什至不知道如何解释这个问题。
恐怕有一天参数中的文件名包含一些会破坏所有内容的字符,因此可能会过度引用。我不明白为什么直接在脚本中键入或通过变量提供相同的命令时执行不同。请赐教。
谢谢阅读。
perl - Use variable expansion in heredoc while piping data to gnuplot
I normally use a code like following to pipe data from a file to gnuplot and create a picture during the Perl script:
I have to define "GNU_EOF"
instead of 'GNU_EOF'
so I can use variables like $in
.
Now I want to use data which isn't read from a file directly. My code looks like:
If I try this using "GNU_EOF"
to be able to define variables in the heredoc, I am getting errors like:
I don't know
why I have to use
""
for the heredoc to get the desired variable expansion andwhy I get errors for the second example.
Help is highly appreciated.
bash - What does this code do in bash?
I'm trying to modify someones script, and there's a certain part of it that's really confusing to me. It looks like below.
I know it's checking for the existence of a file, and using this code ${0%/*}
to try to get the current directory, however it doesn't run for me. My way of fixing it was to replace it with pwd
which works much better.
I'm just wondering if anyone could elaborate to me as to what that portion of the code ${0%/*}
was trying to do?
linux - Bash - 命令和变量扩展
阅读POSIX Shell 手册和Bash 手册后,我仍然无法解释以下行为:
像 zsh 或 ksh 这样的其他 shell 正在做我所期望的,那就是一直显示“1”。所以它似乎是特定于 Bash 的。
有人可以解释这种行为吗?如果可能的话,可以指出文档中解释的地方吗?
提前致谢!