21

「犬が一番」を印刷してみました。このbashスクリプトで。

#!/bin/bash

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

しかし、私は「最高です」を得ました。sin$ANIMALSが変数から分離されていないため、代わりに出力されます。どうやって分けるの?

4

5 に答える 5

45

ブレース付き:echo "${ANIMAL}s are the best."

引用符付き:echo "$ANIMAL"'s are the best.'

printf の場合:printf '%ss are the best.\n' "$ANIMAL"

ほとんどの場合、引用符は使用しません。読みにくいと思いますが、知っておくとよいでしょう。

于 2013-08-19T18:02:44.270 に答える
8

変数の名前を中括弧で囲むだけです。

#!/bin/bash

ANIMAL="Dog"
echo "${ANIMAL}s are the best."
exit 
于 2013-08-19T18:02:58.427 に答える
3
#!/bin/bash


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

答えはもはや一意ではありませんが、正しい...

于 2013-08-19T18:03:02.153 に答える
2

変数を echo の引用符の外に移動します。

#!/bin/bash

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

また :

#!/bin/bash

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

どちらも私のために働いた

于 2013-08-19T18:03:05.707 に答える
2

無駄な引用、無駄な出口。完成したスクリプトを終了するのに助けは必要ありませんが、そのスクリプトをソースするときに出口があなたを苦しめます。

ANIMAL=Dog
echo ${ANIMAL}s are the best.
于 2013-08-19T18:30:55.263 に答える