Bash变量替换失败。我需要启用开关吗?

时间:2012-04-19 17:10:50

标签: bash

以下Bash脚本失败:

DATA=fred
echo ${DATA:1:1}

我希望它能打印“r”,但我得到的只是“错误替换”错误。

我是否需要使用某种开关来启用变量扩展语法?

干杯

2 个答案:

答案 0 :(得分:5)

不,但你必须确保它是由bash而不是其他shell运行的。

bash script.sh

...

#!/bin/bash
 ...

答案 1 :(得分:0)

这不是一个很好的解决方案,但解决方法是:

TEST=`echo "${DATA}" | sed -r 's|^.(.).*$|\1|'`

感谢Ignacio的建议