エコーとprintfの印刷出力

[ルート@ node2のscprits]#   エコーのHello World!
こんにちは世界
#[ノード2 scprits @ルート] エコー " のHello World!" 
Hello Worldの
[ルート@ node2のscprits]#エコー " Hello Worldの!"  
-bash:!" :イベントが見つかりません
#双引号不能打印感叹号
[ルート@ node2のscprits]#エコーのHello World !; エコー ' !のHello World '   
:!-bash イベントが見つかりません:
#[ノード2 scprits @ルート] エコー ' のHello World!' ; エコー!Hello Worldの
Hello Worldの
のHello World
ほとんどの最後に#感嘆符

いくつかの実験では、出力感嘆符のための単一引用符を使用するために、bashの環境では、上から見つかりました。感嘆符の使用は、デフォルトでhistoryコマンドリファレンスメモリ設定を開くには、これは、あなたがセット+ Hは、設定をオフに使用することができ、その後、あなたは感嘆符の出力を使用することができます。

[ルート@ node2のscprits]#セット+ H 
[ルート@ node2のscprits]#エコー " Hello Worldの!" 
Hello Worldの

以下のように、複数のエコーパラメータの使用は、単一引用符で、感嘆符引用符で囲まれています。

[ルート@ node2のscprits]#はエコー " DOはRM -rfコマンドを使用していません「" 
ドンコマンド-rfトンの使用は、rm!

任意の引用符エコーた場合、それは明らかに出力セミコロンをすることはできません「;」、セミコロンはコマンド接続シンボルシェルとして解析されますので。

[ルート@ node2のscprits]#エコーのHello World。
Hello Worldの
[ルート@ node2のscprits]#エコー " Hello Worldの、" 
Hello Worldの。

しかし、唯一の単一引用符で二重引用符と悪い出力感嘆符、使用、変数を展開することはできません難病を克服するためのechoコマンドは、別の特殊記号への参照であるので、この方法を。

[ルート@ node2のscprits]#STR = こんにちは
[ルート@ node2のscprits]#エコー " $ strの「" "  世界
こんにちは世界

エスケープエコー              

エコー-eはエスケープ記号と特殊な意義は、そのような改行として、nは、タブ\ T、エスケープ\などを認識しています。

[ルート@ node2のscprits]#エコー ' Hello Worldの\ nは!' ; エコー " Hello Worldの"  
こんにちは世界\ n個
のHello World
[ルート@ node2のscprits]#エコー -e ' Hello Worldの\ nは!' ; エコー " Hello Worldの"
こんにちは世界

こんにちは世界

エコーデフォルトの処理分岐              

デフォルトでは、各行のエコー-n終了せずに、エコーキャンセルブランチ-nの出力を使用して、改行を追加します。

[ルート@ node2のscprits]#エコー -n " Hello Worldの!" > ABC。SH  
[ルート@ node2のscprits]#エコー " Hello Worldの! >> ABC。SH 
[ルート@ node2のscprits]#の猫の ABC。SH 
のHello World!Hello Worldの!
#[ノード2 scprits @ルート] エコー " のHello World!" > ABC。SH 
[ルート@ node2のscprits]#エコー " Hello Worldの! >> ABC。SH  
[ルート@ node2のscprits]#の猫の ABC。SH  
のHello World
こんにちは世界

エコーのカラー出力                

エコーは、フォントの色と背景色の出力を制御することができます。

共通のフォントの色:リセット= 0、30 =黒= 31、赤、緑、青、= 32、33 =イエロー= 34、35 =紫、青= 36、37 =白。

共通の背景色:リセット= 0、40 =黒= 41赤、緑、青、= 42、43 =イエロー= 44、45 =紫、青= 46、47 =白。

フォント制御オプション:1、ハイライトを表す4下線、および5は、フリッカを表しています。

特殊記号を使用する必要性、そんなに特別な記号を認識するように-eオプションを満たすために必要があるため。

[ルート@ node2のscprits]#エコー -e " \ E [1; 41メートルレッドBcakground \ E [0メートル" 
 レッドBcakground 
[ルート@ node2のscprits]#   エコー -e " \ E [1; 31メートルレッドBcakground \ E [0メートル"  
 レッドBcakground

フォントの色コントロールと問題、限り、それが定義されているように、しないための制御オプションを定義するシェルが識別することができます。カラー後の色の定義はまた、クローズドを定義することをお勧めします、それ以外の色が影響していきますbashの環境の色を。

さらに、いずれかの\ eは使用することができ、\ 033の交換を。以下のような:

[ルート@ node2のscprits]#エコー -e " \ 033 [1; 41メートルレッドBcakground \ 033 [0メートル" 
 レッドBcakground 
[ルート@ node2のscprits]#   エコー -e " \ E [1; 31メートルレッドBcakground \ 033 [0メートル"  
 レッドBcakground

 printfの                

printfの出力は、より定期的に多くのフォーマットすることができます使用してください。これは、C言語のprintfコマンドを意味するが、わずかに異なります。

、右揃え(デフォルト)など小数出力形式 - のprintfは(マイナス記号を使用して)左側のアラインメントを達成するために、列の幅を使用して指定することができます。

使用のprintfは、二つの点に注意することが最も重要です。

(1)printfのデフォルトは、それが手動で「N \」トランスデューサの数を追加するので、同じエコーではなく、ラインフィードの終わりではありません。

浮動小数点形式の出力は、結果は同じであるので、フロート(2)のprintfのみ形式の出力は、任意の結果がちょうど結果が表示変更、変化しません。

[ルート@ node2のscprits]#1 CAT。> ABC SH << EOF
 >#/ binに/!bashの
 >#ファイル名:. ABC SH 
>のprintf " %-5S%-10s%-4S \ N- "無印名3# %、背後に対応する3つのパラメータ
のprintf> " %-5S%-10S -4.2f%\ N-  1つの。 Sarath 80.34#マイナス" - "を示している左
 >のprintf " %-5S%-10S%-4.2f \ N- "  2人のジェームズ・90.998 #5Sはパラメータが5つの文字占め意味
 >のprintf " %-5S%-10s%-4.2f \ N- "  3ジェフ77.564 
>EOF
[ルート@ node2のscprits]#bashのabcという。SH  
ノー・ネーム印
1      Sarath      80.34 
2つの      ジェームズ       91.00 
3      ジェフ        77.56
[ルート@ node2のscprits]#は、sedの#-is ' - '。## G ABC SH 
[ルート@ node2のscprits]#1 CAT。ABCのSH !/ binに/ bashの
ABC:#ファイル名のSH 
のprintf " %10sを%5Sを4S%\ N- 、 "無印#名三% それぞれの背後にある三つのパラメータに対応する
printfの" %4.2f%5S%の10S \ N- '  1 Sarath 80.34 #マイナス""左が表す
のprintf " %10S 5S%4.2% F \ N- "  2人のジェームズ・90.998 #5Sは、パラメータが占有する意味5文字
のprintf " %5Sの%10sを%4.2f \ N-を" 3ジェフ77.564 
[ルート@ node2のscprits]#bashのabcという。SH  
   ノー・ネーム印
    1      Sarath 80.34 
    2つの       ジェームズ91.00 
    3        ジェフ77.56
[ルート@ node2のscprits]#のCAT ABC。SHの / binに/!のbash 
#ファイル名:. ABC SH 
のprintf " %5S \トン%10S \トン%4S \ N- "ノー・ネーム印#三パーセント、それぞれの背後にあります三つのパラメータ
のprintf " %5S \ T%10S \ T%4.2f \ N- "  。1 Sarath 80.34 #マイナス" "左が表す
のprintf " %5S \ T%10S \ T%4.2f \ N- "  2つのジェームズ90.998 #を5Sはパラメータが5つの文字占め表し
printf関数" %5S \トン%10S \トン%4.2f \ N- "  3ジェフ77.564 
[ルート@ node2のscprits]#bashのABC。SHを 
   名前のないマーク
    1         Sarath       80.34 
    2つの          ジェームズ       91.00 
    3           ジェフ       77.56

printf関数iと整数形式占有のための一般的な形式は、前の例の文字形式で表現整数を表します。

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

おすすめ

転載: www.cnblogs.com/liujunjun/p/11979718.html
おすすめ