Установка переменной среды с помощью сценария оболочки

Вы можете сделать это с помощью оператора -draw :

convert in.png -fill none -stroke black -strokewidth ${WIDTH} -draw "rectangle ${X1},${Y1} ${X2},${Y2}" out.png

где: WIDTH - ширина штриха
X1 - координата x левого верхнего угла
Y1 - координата y левого верхнего угла
X2 - координата x нижнего правого угла
Y2 - координата y нижнего правого угла

Так например для вашего другого изображения, которое вы хотите обрезать + изменить размер + преобразовать в PDF, вы можете запустить:

convert out.png -resize 2362x1630 -background white -gravity center -extent 2480x1748 \
-fill none -stroke black -strokewidth 10 -draw "rectangle 20,20 2460,1728" out.pdf

1
20.01.2016, 10:35
1 ответ

Да, конвейерная передача вывода sourceзапустит эту часть конвейера в подоболочке, что означает, что любые переменные среды, установленные источником другого файла, не повлияют на среду скрипта.

Пример:

environment.csh:

setenv string "hello world"
echo 'The environment is now set up'

script.csh:

#!/bin/csh

source environment.csh | tee output
printf 'string is "%s"\n' "$string"

Результат работы script.cshбудет

The environment is now set up
string: Undefined variable.

Удаление трубы к teeприведет к выходу

The environment is now set up
string is "hello world"
0
28.01.2020, 01:27

Теги

Похожие вопросы