エコーを避ける方法は? [コピー]

エコーを避ける方法は? [コピー]

編集する:私はそれがそれとは何の関係もなく、$()単に使用の結果であることを知っていますecho *。だから脱出する方法が必要でしたecho

/etc/passwd合計を比較してパスワードのないユーザーを確認するスクリプトを作成しています/etc/shadow

これまで私は以下を持っています:

cat /etc/passwd | while read -r line ; do
  user=$(echo $line | cut -d ":" -f 1)
  password=$(cat /etc/shadow | grep $user | cut -d ":" -f 2)
  echo $password
done

問題は、私のgrepの結果が*パスワードフィールドである場合(パスワードを持たないすべてのユーザーに対して)ls *実行されるようです。たとえば、

ここに画像の説明を入力してください。

なぜこのようなことが起こるのか混乱しています。ここで何が起こっているのかを説明できる人はいますか?画像の下部に暗号化されたパスワードを含む回答は予想される動作です。パスワードのない項目の場合は、パスワードを取得したいと思います*

ベストアンサー1

echo "$password"

これにより、シェルグローバル変数を呼び出すことなく変数(ここ*)を挿入できます。

おすすめ記事