web-dev-qa-db-ja.com

cp:stat '/ some / path / *'はできません:そのようなファイルまたはディレクトリはありません

私のスクリプトコードは:

var="/some/path"
cp "$var*" "/another/path"

次に、それがスローされます:

cp: cannot stat '/some/path/*': No such file or directory

私はこれを試しましたが、同じエラーが発生しました:

cp "${var}*" "/another/path"

最後に、この問題を次の方法で解決しました。

cp "$var"* "/another/path"

今回はコマンドは正常に実行されますが、なぜか知りたいのですが。

説明していただけますか?

7
syxbyi

"$var*"を使用すると、出力は/some/path*になります。ここで、*は文字と見なされます(二重引用符内にあるため、正規表現ではありません)。したがって、あなたのケース(/some/path/*)では、cppathディレクトリ内の*という名前のファイル/フォルダーを検索しています。

二重引用符の外にある場合は、正規表現パターンと見なされます。つまり、pathで始まるすべてのもの(path1path2など)を意味します。
またはpath/*(そのディレクトリにあるもの)の場合。

13
Erlis D.