Bashシェルで実行すると、ワイルドカードがアクティブになり、シェルをls -l *ou*
引数out.dot
としてout.png
渡す必要がありますls
。つまり、文字がls
まったく表示されません。ただし、*
(ワイルドカード)文字が実際に受信されるdpkg -l *bridge*
場合dpkg
は次のようになります*
。
root@host-machine:~# ls -l *ou*
-rw-r--r-- 1 root root 8985 Jan 21 11:58 out.dot
-rw-r--r-- 1 root root 892260 Jan 21 11:58 out.png
root@host-machine:~# dpkg -l *bridge*
Desired=Unknown/Install/Remove/Purge/Hold
| Status=Not/Inst/Conf-files/Unpacked/halF-conf/Half-inst/trig-aWait/Trig-pend
|/ Err?=(none)/Reinst-required (Status,Err: uppercase=bad)
||/ Name Version Architecture Description
+++-=============================================================-===================================-===================================-================================================================================================================================
ii bridge-utils 1.5-6 amd64 Utilities for configuring the Linux Ethernet bridge
un cli-uno-bridge <none> (no description available)
ii libatk-bridge2.0-0:amd64 2.5.3-2 amd64 AT-SPI 2 toolkit bridge - shared library
root@host-machine:~#
それともこの行動をどのように説明するのですか?
答え1
*ou*
指定したパターン()に一致するものがない場合、パターンは拡張されていない状態でコマンドに渡されます。
$ echo *ou*
*ou*
答え2
一致するファイルがない場合、ワイルドカードはそのまま残ります。しようとした場合:
dpkg -l *ou*
あなたは以下を得るべきです:
dpkg-query: no packages found matching out.dot
dpkg-query: no packages found matching out.png
使用
dpkg -l \*ou\*
または
dpkg -l '*ou*'