あるサーバ(YYY.YYY.YYY.YY)で
ssh testusert@XXX.XXX.XXX.XXX ls /tmp/test*.data
と実施するとXXX.XXX.XXX.XXX というサーバには、/tmp/test20200923.dataというファイルが存在するので、
test20200923.data
というデータが取れます。
次に
YYY.YYY.YYY.YYサーバ上に
/tmp/test123.data
というファイルを作成すると、
ssh testusert@XXX.XXX.XXX.XXX ls /tmp/test*.data
を実施すると、
ls: /tmp/test123.data にアクセスできません: そのようなファイルやディレクトリはありません。
というエラーが発生します。
*が、展開されて、
ssh testusert@XXX.XXX.XXX.XXX ls /tmp/test123.data
が実行されるため、上記のエラーが発生していると考えていますが、
ローカルに一致するファイル名が存在する場合と存在しない場合で、
*が展開される、されないが変わることに違和感を感じています。
ssh testusert@XXX.XXX.XXX.XXX 'ls /tmp/test*.data'
とすることで、問題は回避できるのですが、
*の展開がローカルにファイルがある場合とない場合で挙動が異なる理由について、
ご存知でしたら教えてほしいです。
回答4件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2020/09/23 15:35
2020/09/23 16:46 編集