我需要一个非常简单的脚本来执行此操作:
mogrify -resize $1x$2^ -gravity center -crop $1x$2+0+0 $3
Run Code Online (Sandbox Code Playgroud)
这样我就可以这样称呼它:
cropresize.sh 110 110 *.png
Run Code Online (Sandbox Code Playgroud)
问题是 shell 扩展了*.png模式,而不是将它按原样传递给脚本。
我怎样才能做到这一点(脚本、别名或任何其他等效解决方案都可以)?
由于 shell 在将参数传递给命令之前执行 glob 扩展,因此我无法想到透明地执行此操作:它要么由用户控制(引用参数),要么由蛮力(为您的 shell 完全禁用 globbing)与set -o noglob)。
你从错误的角度看问题。更改您的脚本以接受多个文件名参数:
x=$1
y=$2
shift 2
mogrify -resize ${x}x${y}^ -gravity center -crop ${x}x${y}+0+0 "$@"
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1982 次 |
| 最近记录: |