バージョンに依存しない悪意のある検出ディレクトリに入ろうとすると、CDが失敗します。

バージョンに依存しない悪意のある検出ディレクトリに入ろうとすると、CDが失敗します。

Debian 9.3 に Maldet をインストールしています。

cd /usr/local/src
wget http://www.rfxn.com/downloads/maldetect-current.tar.gz
tar -xzvf maldetect-current.tar.gz 
cd maldetect-*
bash ./install.sh

これにより、次のようなcd maldetect-*結果が得られます。

Bash:引数が多すぎます。

これを試しましたが、cd "maldetect-*"コマンドは機能しませんでした。

このディレクトリにアクセスできないのはなぜですか? ...

ベストアンサー1

では、cd maldetect-*パターンに一致するすべてのファイルとディレクトリがコマンドラインから展開されます。少なくとも.tarファイルがあり、その中にディレクトリがあるかもしれません。一度に1つのディレクトリにしか存在できないため、複数のcdディレクトリには意味がありません。

cd "maldetect-*"拡張がありません。コマンド自体は問題ありませんが、名前にアスタリスクのあるディレクトリがない可能性があるため、何も見つかりませんcd

パターンに一致するディレクトリが1つしかないことがわかっている場合は、後でcd maldetect-*/スラッシュを使用してディレクトリ名のみを拡張するようにシェルに要求できます。

パターンに一致する複数のディレクトリがある場合は、最新のディレクトリを探すか、アーカイブの内部を調べて、その中のディレクトリ名を見つける必要があります。

で議論された最新のコンテンツを見つけてください。バッシュFAQ 003(または多分バッシュFAQ 099)と次のようないくつかの現場の問題があります。最新のファイルを見つけてください。複数のファイル形式の制限

すべてのファイル名が既知の単純な場合には機能しますが、ls -tr | tail -1以下を参照してください。 ls(1) の出力を分析しない理由

もちろん、アーカイブの内部を見るのはそれほど難しくありませんが、これはまた、アーカイブがさまざまな点で「良い」と仮定することです。

$ tar tzf maldetect-current.tar.gz | head -1 | cut -d/ -f1
maldetect-1.6.2

おすすめ記事