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