レス
元トピ次レス
タイトル
Re: echo * の実行結果について
フォーラム
最強WEB問題集LinuC/LPIC Lv1 101
投稿ユーザ(投稿日)
(2013/7/6)
本文
modukuさん

> なぜ、文字列のワイルドカードに過ぎない「*」が、カレントディレクトリの一覧に化けるのでしょうか?
メタキャラクタというのは、シェルによって文字列(ファイル又はディレクトリ)の一覧
(*の場合はカレントディレクトリのすべてのファイル・ディレクトリ)に展開されてからコマンドに渡されます。
どんな場合も同じように扱われます。扱いが変わる(化ける)ことはありません。

例えば、カレントディレクトリ(実機環境にて検証)に
[root@mimiken bk_test]# ls -l
合計 0
-rw-r--r--. 1 root root 0 7月 6 16:52 2013 AAAA
-rw-r--r--. 1 root root 0 7月 6 16:52 2013 BBBB
-rw-r--r--. 1 root root 0 7月 6 16:52 2013 CCCC
3つのファイルがあった場合を考えます。

「*」= AAAA BBBB CCCC
と展開されます。
展開された後に、コマンドに渡されます。

例えば、下に示す2つのlsコマンドは、
「ls AAAA BBBB CCCC」=「ls *」
は同じ扱いになります。

[root@mimiken bk_test]#
[root@mimiken bk_test]# echo *
AAAA BBBB CCCC
[root@mimiken bk_test]#
[root@mimiken bk_test]# ls AAAA BBBB CCCC
AAAA BBBB CCCC
[root@mimiken bk_test]# ls *
AAAA BBBB CCCC
[root@mimiken bk_test]#

レス一覧

元トピ次レス


Ping-tモバイルTOP

Copyright (c) 2010
Ping-t All rights reserved.