この変数があります。
toto=123456
なぜtouch "$toto.hihi.log"
動作し、次のファイルを生成するのですか?123456.hihi.log
しかし、touch "$totohihi.log"
何も起こりませんでしたか?
ベストアンサー1
あなたはする必要があります
touch "${toto}hihi.log"
問題は、中かっこがなければ、シェルが変数名に何文字があるかを知ることができないことです。したがって、すべての有効な文字を名前の一部と見なします。この場合は、以前のすべてです.
。つまり、シェルは存在しない変数を使用します$totohihi
。
通常、シェルオプションを使用して何が起こっているのかを判断するのに-x
役立ちます。
set -x
touch "$totohihi.log"
+ touch .log