拡張変数と印刷変数(echoやprintfなど)の違いは何ですか?

拡張変数と印刷変数(echoやprintfなど)の違いは何ですか?

変数の拡張と変数の印刷(例:echoまたは)printfの違いは何ですか?

私が正しく理解したら、変数(対応する値)を印刷するのは単なる例です。拡大するそれ。おそらくその価値を置き換えるまた例です。

修正する

「変数拡張」という用語について簡単に定義してください。君の言葉で教えて、違いを説明する直前。

ベストアンサー1

拡張と印刷は異なるジョブです。拡張カバーシェルがコマンドを処理するステップ数:Bashでは、中括弧拡張({1..5}これ1 2 3 4 5)、チルダ拡張(適切になる~user/home/user、シェル引数拡張(${variable}変数値で置き換え)、コマンド置換、算術拡張、プロセス置換、トークン化、およびファイル名拡張が可能です。 (あなたも見ることができますPOSIXワード拡張.)

拡張という用語の全てのこれらの用途の1つの可能な説明は、全てコマンド拡張につながることができることである。つまり長くなります(これはCでシェルを開発するときに特に考慮する必要があります)。

あなたの場合、拡張はパラメータ拡張です。

echo "${variable}"

~になる

echo "value"

あなたが言った変数を置き換えた後

echo value

引用符を削除して(少し単純化)、echo印刷します。 Justechoprintfはシェルに組み込まれているため、シェルのみが含まれていますが、ステップは分離されており、状況は外部コマンドと同じです。

したがって、印刷は拡張の特別なケースではありませんでした。ただし、リンクされた質問に示すように、交換については次を参照してください。バッシュマニュアルもっと学ぶ。

おすすめ記事