我们如何在shell脚本中将变量与字母分开

时间:2013-08-19 17:59:17

标签: bash

我试过打印“狗是最好的”。用这个bash脚本。

#!/bin/bash

ANIMAL="Dog"
echo "$ANIMALs are the best."
exit 

然而,我得到“是最好的”。因为s中的$ANIMALS未与变量分开而打印出来。我该如何分开?

5 个答案:

答案 0 :(得分:32)

使用大括号:echo "${ANIMAL}s are the best."

带引号:echo "$ANIMAL"'s are the best.'

使用printf:printf '%ss are the best.\n' "$ANIMAL"

我不会在大多数情况下使用引号。我觉得它没有可读性,但是要注意这一点很好。

答案 1 :(得分:7)

用花括号括起变量的名称。

#!/bin/bash

ANIMAL="Dog"
echo "${ANIMAL}s are the best."
exit 

答案 2 :(得分:3)

#!/bin/bash


ANIMAL="Dog"
echo "{$ANIMAL}s are the best."
exit 

答案不再是唯一的,而是正确的......

答案 3 :(得分:2)

将变量移出echo:

中的引号之外
#!/bin/bash

ANIMAL="Dog"
echo $ANIMAL"s are the best."
exit 

或者:

#!/bin/bash

ANIMAL="Dog"
echo "${ANIMAL}s are the best."
exit 

两者都为我工作

答案 4 :(得分:1)

无用的报价,无用的退出。一个完成的脚本不需要退出帮助,但退出将在采购该脚本时咬你。

ANIMAL=Dog
echo ${ANIMAL}s are the best.