エコー-eシェルスクリプトとコマンドラインのトラブルシューティング1の場合とで異なる振る舞い

    同僚からのフィードバックの開発、ファイルにシェルスクリプトの意志出力に結果をエコー-eを使用して、以下のように、予想とは異なる動作:
[エコー]男性は、以下の

  スクリプト開発同僚は、彼が書いたスクリプトと呼ばれています。

Vimのa.sh 

SH b.sh 

[b.shは、エコー含ま -e操作を]

 

  オペレーティングシステム:ubuntu14.04
  スクリプトの内容[例]:

CATのtest01.shの/ binに/ bashの!

エコー -e " AA \ NBB " >を/ tmp / test.log 

を実行した後、取得するには/ tmp / のためのtest.logコンテンツ
 SH -x tesh01.sh 
+エコーを- AA E \ NBB
 CAT /tmp/test.log 
- E AA 
BB 
エコー-e "AA \ NBB"> /tmp/test.log 
#のCAT /tmp/test.log 
AA 
BB

  あなたが結果は同じではありません見ることができ、SHは、スクリプトを実行し、シェルで直接コマンドを実行して見ることができます。また、エスケープ-nものの、実行SH、しかし文書は、より多くの-eを超えました
  ここを参照してください、実際には、問題は解決の少し見通しとなっています。それからちょうどライン上でのテストにはほとんどのテストを行う必要があります。まずは、SHが実行し、コマンドラインから任意の異なるを指示-x比較してみましょうか?
  一部の人々は、/ bin / shを使ってアプリケーションの実行は、bash bashの[bashの私の地元の使用である、/ binに/]を使用して、コマンドライン、SHと同じではない、と思ったかもしれません。
  なぜ同じではないだろうか?
  二つの文書を見て

LL / binに/ bashの 
-rwxr-XR-X 1つのルートルート1021112 10月8 2014 / binに/ bashの* LL /ビン/ SH 
1ルートルート9 11月7午前20時16分/ binに/ SH lrwxrwxrwx - > / binに/ダッシュ*

  reason've見て、/ binに/ shのソフトの接続は、/ binに/ bashのにリンクされていません。このにしている学生のためのように、これはのみの通常の状態に復元することができるソフトへの接続背面に必要な、チェックされません。

LN -sfn / binに/ bashの/ binに/ shを

おすすめ

転載: www.cnblogs.com/doctormo/p/12003275.html