无法在Bash中使用变量分配另一个变量

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了无法在Bash中使用变量分配另一个变量相关的知识,希望对你有一定的参考价值。

我尝试分配我的bash变量,当我回显它时,它可以正常工作。但是,一旦我使用该变量来分配另一个变量,它就会给出一个错误,该命令不存在。

dbFileName=hello123.mv.*
dbFile=$($dbFileName | sed -e 's|'.mv.*'|''|')
echo "$dbFile"

我想更改存储在一个变量中的字符串,并从末尾删除mv。*。

这会显示“ hello123.mv。*:找不到命令”的错误]

答案

您可以将参数扩展与%一起使用,这将删除字符串末尾的字符,或者#将从字符串的开头删除字符。如果您只使用其中一个字符,则最小的匹配字符串将被删除。如果将字符加倍,则最长的字符将被删除。

dbFileName="hello123.mv.whateverhere"
echo ${dbFileName%.mv*} # hello123
dbFile=${dbFileName%.mv*}
echo ${dbFile} # hello123

以上是关于无法在Bash中使用变量分配另一个变量的主要内容,如果未能解决你的问题,请参考以下文章

在 bash 中使用单个命令为 shell 变量分配默认值

如何使用Android片段管理器传递变量[重复]

bash 脚本在变量中使用剪切命令并将结果存储在另一个变量中

在 bash 中解析 CSV 并分配变量

使用片段时 Intellij 无法正确识别 Thymeleaf 模型变量

否定一个布尔变量并将其分配给一个新变量[重复]