.*を変数に割り当てると、すべての隠しファイルが割り当てられます。
[root@s1 ~]# a=".*"
[root@s1 ~]# echo $a
. .. .bash_history .bash_logout .bash_profile .bashrc .cache .config .cshrc .history .lesshst .mozilla .pki .rnd .ssh .tcshrc .viminfo .virsh .xauth6SHzeY .xauthhAVYfm .xauthI6Cte3 .xauthk7ea35 .xauthlXtiZ9 .Xauthority .xauthQm7mJ8 .xauthTpWbxP .xauthY9KsdC
次のような結果が出ると予想されます。
.*
脱出方法、ありがとう
私は以下で試してみて出力を提供します
[root@s1 ~]# a='".*"'
[root@s1 ~]# echo $a
".*"
".*"
しかし、
.*
答え1
.*
変数に文字列を割り当てるときに間違ったことはありませんが、引用符なしで変数を使用しているため、echo
シェルは変数を呼び出す前にその値に対して(トークン化および)ファイル名を生成しますecho
。
これを防ぐには、二重引用符変数拡張を使用してください。
echo "$a"
関連:
答え2
電話する必要があるので:
echo ".*"
拡張を防ぐには、もちろん、次のように呼び出す必要があります。
a=".*"
echo "$a"