0
我想用我的终端裁剪几张图像。为此我尝试写这个单行函数。在zsh中创建一行功能
function crop_function { convert "$1 -crop 1048x909+436+78 $1" }
但是,如果我写crop_function test.png
转换的帮助页面弹出。 如果我写:
function crop_function { echo convert "$1 -crop 1048x909+436+78 $1" }
convert_function test.png
输出是正确:
convert test.png -crop 1048x909+436+78 test.png
我在做什么错?
===============编辑================
它不工作的原因是逃逸。 这个人做的工作:
function crop_function { convert $1 -crop 1048x909+436+78 $1 }
我不明白为什么,因为正确呼应功能替代的变量。所以如果有人能够澄清这一点,我会非常高兴。
尝试运行'转换“test.png -crop 1048x909 + 436 + 78 test.png”'直接。你会得到同样的错误。 – melpomene
啊,当然。非常感谢你! – mcocdawc
问题不在于被替换的变量,而是将空白作为单个参数的一部分传递,而不是分隔多个参数。 – chepner