问题标签 [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.
bash - 用 subshell 替换错误
我正在尝试获取不带引号的发行版名称。
cat /etc/*-release | grep "NAME=.*" -o | cut -d "=" -f2 | head -n1
回报:
"CentOS Linux"
现在,使用 shell 替换,我尝试删除将命令放在子 shell 中的引号:
\"
我在想我可以使用然后省略最后一个/
来简单地删除引号来逃避引号。
编辑:我知道这可以用 来完成awk
,但我不知道怎么做。
编辑:输出cat /etc/*-release
:
预期输出:CentOS Linux
bash - Shell 参数扩展:$# vs. ${#@}
在一个 shell 脚本中,据我所知,$#
并且${#@}
行为相同,都给出了位置参数的数量。两者之间有什么区别,在什么情况下一个比另一个更可取?
bash - cd ${1:-.} 这是什么意思
==================================================== =
有人可以向我解释这个 cd ${1:-.} 是什么意思如果有任何文章解释这个
bash - OSX 变量赋值给出错误
'delta_oligo_combined.bedgraph' 文件怎么可能在目录中并且 cat 命令看不到?OSX 拼写错误?
string - Bash:用等于单词长度的空格替换单词
我以为我的 bash-fu 足够强大,但显然不是。我似乎无法弄清楚这一点。我想做这样的事情:
基本上我想用空格快速替换单词中的所有字符,最好是一步完成。请注意,如果它使事情更容易var
目前将在字符串的开头,尽管它可能有前导空格(需要保留)。
在 python 中,我可能会这样做:
bash - 负匹配如何在 extglob 中进行参数扩展
问题
的行为
在参数扩展中使用时,它不像我期望的那样工作,特别是
输入
测试用例
眼镜
笔记
这些是非常基本的示例,因此如果可以在答案中包含更复杂的示例和解释,那么请这样做。
如果需要更多信息或示例,请在评论中告诉我。
已经看过extglob 如何与 shell 参数扩展一起工作?,甚至评论了该特定问题的问题所在,因此请不要将其标记为骗子。
bash - 使用 bang Dollar (`!$`) 进行参数扩展
有什么方法可以!$
在参数扩展上下文中使用吗?激发这个问题的预期用法是快速(就击键而言)文件名的更改(例如,不是将文件名保存在变量中并执行rsvg-convert $svg > ${svg/.svg/.png}
,而是可以使用rsvg-convert $! > $!{/.svg/.png}
,其中$!{/.svg/.png}
错误的语法暗示所需的效果;当有问题的文件是前一行的最后一个标记时,通常可以比其他方法更快地键入这样的命令,例如在存在共享不同长度前缀的文件时使用制表符完成,或者通过复制和粘贴文件名用鼠标选择)。据我所知,没有办法!$
在这种情况下使用,但也许通过一些诡计可以达到类似的效果。
bash - bash 参数替换数字一次或多次
我有一个版本字符串,例如
我只想使用 的最后一部分b2
,所以我尝试了这个:
我的想法是这*
意味着没有或多次重复引导模式,但实际上它意味着没有或多次重复任何字符。所以我希望我的模式能够表达,这只是关于数字,一次或多次。
snakemake - snakemake 配置参数值可以是带有 { 的字符串吗} 要插值/扩展的值?
有没有办法在 .yaml 文件中定义一个蛇形配置字符串,以便它可以包含 {wildcard} 和 {param} 值,并且当在 shell 命令中使用该字符串时,{<name>} 值被替换为“<name>”的实际值?
例如,假设您想要一个配置字符串来定义要作为参数传递给程序的字符串的格式:
RG:“ID:{ID} 代表:{REP}”
上面的内容在 .yaml 文件中,ID 和 REP 是通配符,shell 命令会将展开的字符串作为参数传递给程序。
bash - bash echo - 如何表示命令的结束
上面的代码给出了以下输出,它echo
后面的所有内容都是全局的。
换行符和分号在这里都不起作用。出了什么问题?