【问题标题】:Bash script substring on $(pwd)? Bad substitution error$(pwd) 上的 Bash 脚本子字符串?替换错误
【发布时间】:2021-03-07 00:48:05
【问题描述】:

我正在尝试在 bash 上做一个子字符串,我正在关注这个 Bash 脚本cheat sheet

echo $(pwd)

> Successfully outputs the current working DIR

我做错了什么?

我正在尝试在索引 2 处对 $(pwd) 进行切片。我知道可以省略长度,以从该位置返回字符串的其余部分。

所以我正在这样做,我收到了bad substitution 错误。

echo ${$(pwd):2}

> bash: ${$(pwd):2}: bad substitution

【问题讨论】:

  • ${ } 似乎期待一个变量而不是一个值。 $(pwd) 似乎是一个字符串。也许您需要一个中间变量或其他方法来检查 pwd: DIR=$(pwd) && ${DIR:2}

标签: bash substring


【解决方案1】:

您对命令替换和参数替换感到困惑。

在您的特定情况下,您需要先将 pwd 的命令替换读入一个变量,然后将其用于参数扩展等:

pworkd=$(pwd)
echo ${$(pworkd):2}

【讨论】:

猜你喜欢
  • 2018-01-11
  • 1970-01-01
  • 2022-07-21
  • 1970-01-01
  • 1970-01-01
  • 2016-01-23
  • 2015-01-16
  • 2014-09-07
  • 2014-02-17
相关资源
最近更新 更多