2011-11-09 1 views
0

私は画面に "*"を印刷するために以下のシェルスクリプトを書いていますが、スクリプトを実行すると、現在のディレクトリにスクリプトがあるすべてのファイルとディレクトリがリストされます。誰かが、現在のディレクトリにあるすべてのファイルとディレクトリをスクリプトが一覧表示する理由を教えてもらえますか?シェルスクリプトが "*"になると、ファイルとディレクトリの一覧が表示されるのはなぜですか?

#!/bin/bash 
TEST="*"; 
echo $TEST 

答えて

4

$TESTの周りにいくつかの""が不足しているため。

お試しecho "$TEST"

2

シェルは、あなたのケースのbashがコマンドに渡す前に*を展開するので、すべてのファイルとフォルダを表示します。

解決策は単純です:

#!/bin/bash 
TEST="*"; 
echo "$TEST" 
関連する問題