現在のディレクトリにはfile1とfile2が含まれています。この出力をどのように解釈しますか?
[root@server test]# command='*';
[root@server test]# echo $command
file1 file2
*が拡張されるのはなぜですか?引用された内容ではないことを願っています。
答え1
command='*'
$command
値をリテラルに設定すると、期待どおりに正しく動作します*
。ただし、を実行すると、のecho $command
値がに拡張され、コマンドが$command
に拡張されます。これにより、ワイルドカードが通常どおり拡張されます。これを回避するには、次のトピックで指定したパラメータを引用してください。*
echo *
echo
$ v='*'
$ echo "$v"
*