Bash $(pwd) 上的脚本子字符串?错误的替换错误

Bash script substring on $(pwd)? Bad substitution error

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

echo $(pwd)

> Successfully outputs the current working DIR

我做错了什么?

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

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

echo ${$(pwd):2}

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

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

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

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