ホーム » 「wildcard」タグがついた投稿
タグアーカイブ: wildcard
ワイルドカードはいつ開く?
Unixを使っていると、ちょっと不思議に思う瞬間というのがある。たとえばこんなときだ。
scp remote.host:some/path/* .
このコマンドの意図は明確だ。リモートホストの、ホームディレクトリのとあるディレクトリにあるファイルを全部コピーしたいのだ。だが、これはどうして正しく動作するのだろう。そもそも*
はだれがどのタイミングで展開してくれるのだろうか。
Unixでは、ワイルドカードはshellが開く。コマンドは、ファイル名に展開された後のリストを受け取る。ワイルドカードが100個のファイルにマッチすれば、コマンドは100個のファイルを引数として受け取ることになる。さて問題は上記のscpの場合だ。scpはローカルのファイルシステムではなく、リモートのディレクトリを読み取らなければならない。このような場合はどうなるのだろうか。そもそも、scpを起動するとき、shellはどういう動作をするのだろう。
[続きを読む]