Rm

轉換後無法rm格式

  • November 26, 2020

如何修復以下命令,以便刪除具有 rm 命令指定格式的所有文件?

#!/bin/bash
mogrify -verbose -format webp -quality 70 *.jpg *.jpeg *.JPEG *.JPG *.png *.PNG && rm --verbose *.jpg *.jpeg *.JPEG *.JPG *.png *.PNG
$SHELL

該命令成功地將圖像轉換為 webp,但 rm 不會刪除任何原始文件。

轉換為 webp 後出現以下錯誤:

mogrify-im6.q16: unable to open image `*.jpeg': No such file or directory @ error/blob.c/OpenBlob/2874.
mogrify-im6.q16: unable to open image `*.JPG': No such file or directory @ error/blob.c/OpenBlob/2874.
mogrify-im6.q16: unable to open image `*.JPG': No such file or directory @ error/blob.c/OpenBlob/2874.
mogrify-im6.q16: unable to open image `*.png': No such file or directory @ error/blob.c/OpenBlob/2874.
mogrify-im6.q16: unable to open image `*.png': No such file or directory @ error/blob.c/OpenBlob/2874.
mogrify-im6.q16: unable to open image `*.PNG': No such file or directory @ error/blob.c/OpenBlob/2874.
mogrify-im6.q16: unable to open image `*.PNG': No such file or directory @ error/blob.c/OpenBlob/2874.

在使用萬用字元模式之前,將此bash選項添加到您的腳本中

shopt -s nullglob

這告訴外殼程序刪除不匹配的模式,而不是將它們保留為文字。因此,從您的範例中,*.png將被刪除而不是保留為以星號開頭的五個字元的文件名(可能不存在)。

引用自:https://unix.stackexchange.com/questions/621717