在Bash中为所有数组元素添加前缀

拉吉夫·赖(Rajiv Rai)

我将命令行参数存储在数组变量中。(这对我来说是必要的)。我想给所有数组值加上一个通过变量的字符串作为前缀。

PREFIX="rajiv"

services=$( echo $* | tr -d '/' )

echo  "${services[@]/#/$PREFIX-}"

我得到这个输出。

> ./script.sh webserver wistudio
rajiv-webserver wistudio

但是我期望这个输出。

rajiv-webserver rajiv-wistudio
Codeforester

您的数组初始化错误。更改为此:

services=($(echo $* | tr -d '/'))

如果没有external ()services它将成为一个字符串,参数扩展"${services[@]/#/$PREFIX-}"将添加$PREFIX-到您的字符串中。

在这种情况下,declare -p可用于检查变量的内容。在这种情况下,declare -p services应向您显示:

declare -a services=([0]="webserver" [1]="wistudio") # it is an array!

并不是

declare -- services="webserver wistudio"             # it is a plain string

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

如何根据最大数字的位数为所有数字添加前缀?

使用 javascript 为字符串数组的所有元素添加前缀,无需迭代(.map() 或循环)

如何有效地为List的所有元素添加前缀?

为所有Flask路线添加前缀

为所有Flask路线添加前缀

在以空格分隔的字符串中的所有元素上添加前缀/后缀

Python在python中为列表元素添加前缀

如何在 django 中为所有网址添加前缀

为应用程序中的所有反应链接添加前缀

数据框:为Scala中的所有列添加前缀

SAS为宏变量中的所有单词添加前缀

在春季反应式网页(webflux)中以“ / api”或其他前缀为所有端点添加前缀

在Laravel 5中为现有URL添加前缀

从数组中的元素添加所有数据attr

在 Python 中为词组添加前缀

如何在javascript中为数组添加前缀,但只是在仍然没有它的值中?

为 ls(list 命令)输出目录中的所有文件添加前缀文件名

如何为数组中的每个元素在数组值中添加前缀?

有效地为所有行和列添加前缀

使用“ struct_name。*”进行选择时,为所有列添加前缀

为所有Spring Boot执行器端点添加前缀

MySQL工作台!为所有表格添加前缀

如何在OSX上的Bash中为文件中的特定行添加前缀(或修改)

使用批处理文件为所有子文件夹中的所有文件名添加前缀

为嵌套列表的每个元素添加前缀和后缀

如何在bash脚本中为任何输出添加前缀?

Azure ARM 模板为数组参数中的每个值添加前缀

在数组内的数组中添加前缀,然后返回

如何重命名目录中的所有文件并添加前缀