问题标签 [parameter-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 投票
1 回答
30 浏览

bash - 如何在文件名中的模式之后剥离所有内容?

编辑:我只需要剥离.gz

这些已经被压缩了。我需要project.tar输出我有以下剥离第一部分。

0 投票
1 回答
99 浏览

bash - bash parameter expansion and combining pattern-matching operators

Is it possible to use parameter expansion to combine pattern-matching operators?

For example, given the variable test=/home/archie/.vimrc.bak.

I can delete the longest match from the beginning of $test with echo ${test##*/}:

I can also delete the shortest match from the end of $test with echo ${test%.*}:

Is there a way to combine the two pattern-matching operators to output .vimrc?

0 投票
2 回答
362 浏览

bash - 使用 shell 参数扩展的 Bash 模式匹配“或”

我正在尝试将此正则表达式替换统一为一个命令,例如:

但是,最后一个选项不起作用。我也尝试过\|,但它似乎不起作用,而且我在 bash 手册和文档中没有发现任何有用的东西。我需要使用${}而不是 sed,即使使用它可以解决我的问题。

0 投票
2 回答
366 浏览

bash - 带转义的 Shell 脚本变量扩展

以下脚本:

输出:

我想得到的输出是:

如何使用单个参数func而不是多个参数来实现此输出?

进行编辑以解决简化问题

0 投票
2 回答
2470 浏览

bash - 用纯 bash 创建 URL 友好的 slug?

我追求一个纯粹的 bash 解决方案来“slugify”一个变量,这不像我的那么难看。

slugify:小写,缩短为 63 字节,除 0-9 和 az 以外的所有内容都替换为 -。没有前导/尾随 -。结果是一个适合在 URL 主机名和域名中使用的字符串。输入很可能是一系列带有不需要字符的单词,例如:

'Effrafax_mUKwT'uP7(Garkbit<\1}@NJ"RJ"Hactar*S;-H%x.?oLazlarl(=Zss@c9?qick.:?BZarquonelW{x>g@'k'

其中一个蛞蝓看起来像:'effrafax-mukwt-up7-garkbit-1-njrjhactar-shx-olazlarl-zss-c9-q'

另外为什么不${next//^-|-$}去掉前缀和后缀'-'?其他建议?

0 投票
2 回答
247 浏览

bash - 传递给 SSH 的命令中的某些输出丢失

我正在尝试使用 ssh 命令 ssh 到服务器并运行useradd我传递给它的命令。大多数情况下它似乎运行正常(没有产生错误),但/etc/shadow文件中的散列密码缺少盐(我相信这是缺少的部分。)。

我不确定引用是否不正确。但是在服务器上手动运行这个命令工作正常,所以我假设它的扩展搞砸了。?

下面的命令在 Bash 脚本中运行...

命令:

*当我在 perl one-liner 中转义双引号时,我得到了错误:

在 -e 第 1 行的 EOF 之前的任何地方都找不到字符串终止符 '"'。

用法:useradd [选项] LOGIN

知道我在这里做错了什么吗?

0 投票
2 回答
6768 浏览

environment-variables - 附加到 csh 中可能尚不存在的环境变量的简单方法

我正在尝试将路径附加到PERL5LIB环境变量的末尾,但我不确定这个变量是否会一直存在。如果它不存在,我想简单地将它初始化为我试图附加的值。

这是一个有效的示例:

虽然这行得通,但它看起来仍然很笨拙,因为我基本上必须写两次同一行。我想做的是提出一种更有效的单线解决方案(可能使用参数扩展)。

有没有办法把它合并到一条线上?(或者几行不涉及多次写出“/some/other/path”)


例如,这可以在 bash 中完成:

0 投票
0 回答
146 浏览

arrays - Bash:基于另一个数组动态声明数组,同时保持元素结构

我有一个可以以不同“口味”运行的脚本。每种风味的逻辑几乎相同(除了它使用的变量的值)。所以我决定使用命名空间模式(即<flavorID>_<variable>)为每种风格声明所有变量。我试图根据用于运行脚本的风格在运行时声明一个通用变量。换句话说,我想根据CL 参数声明变量<variable>并使其等于。有关说明,请参阅下面的脚本。<flavorID>_<variable>flavorID

PS 我意识到我只循环一个变量,但我实际的真实示例有多个我需要声明的数组。


堆栈示例.sh


使用上述脚本的示例输出

0 投票
1 回答
3523 浏览

python - 从 python 启动一个带有参数的 exe

我正在尝试调用应用程序并将文本文件作为参数传递。文本文件有说明。我尝试在打开记事本时传递一个参数,但无法让它工作。这是我正在尝试的代码:

如何将参数传递给 startfile 以便它打开特定文件?当我尝试将两者都放在引号中时,它仍然出现错误。

0 投票
2 回答
137 浏览

bash - 条件中不带冒号的参数扩展(默认值为空字符串)

我知道 和 之间的区别${var:-word}${var-word}但我看不出在这种情况下使用默认值的目的:

  • 为什么那里需要一个空的默认值?
  • 是否与与其他外壳(zsh)的兼容性有关?