LINUX.ORG.RU

Сообщения VVSLawyer

 

Bash: отправка команды в screen и экранирование символов

Здравствуйте, есть вот такая рабочая команда

screen -S $screen_name -X eval 'stuff "say некоторый_текст"\015'
которая отправляет в свернутый screen команду «say некоторый_текст» и нажимает enter я запускаю эту команду в цикле, и мне необходимо, чтобы вместо «say некоторый_текст» была переменная, которая менялась по ходу работы цикла Я пробовал сделать так:
screen -S $screen_name -X eval 'stuff "say $my_var текст"\015'
screen -S $screen_name -X eval "stuff "say $my_var текст"\015"
Подозреваю, что из-за " переменные отображаются как простые символы если же поменять на двойные кавычки, то команды не правильно парсится Причем, если вводить команды напрямую в консоль - работает, если запустить скрипт с циклом - нет
timer_counter=10
while [[ $timer_counter -gt 0 ]]
     do
     screen -S main -X eval 'stuff "say До перезагрузки сервера $timer_counter секунд"\015'
     sleep 1s
     let timer_counter--
done 

 

VVSLawyer
()

Bash: проверка наличия аргументов

Здравствуйте, подскажите пожалуйста что я делаю не так:

if [[ $1 -eq 'main' ]]
	then
	echo "123"
fi
if [[ $1 -eq 'test' ]]
	then
	echo "321"
fi
при выполнении условия не срабатывают, вернее срабатывают оба, в независимости от вводимых аргументов

 

VVSLawyer
()

Сшить изображения в определенном порядке через ImageMagic

Здравствуйте! В общем суть: есть 900+ png файлов, которые необходимо сшить в одно единое изображение, имя файла соответствует координате:
x_y.png
0_0.png
0_1.png
0_2.png
0_-1.png
1_0.png и т.д.
То есть известно, какое изображение за каким должно быть. Так вот, честно говоря, даже не знаю с какой стороны подойти к решению поставленной задачи, сшивать руками 900 картинок дело самоубийственное, а программы для составления панорам, либо не сшивают правильно, либо падают от объема работы.
Нагуглил, что есть пакет imagemagic и команда montage для склейки, но не особо представляю как заставить его склеивать картинки в определенной последовательности.
Предполагаю, что придется склеивать вертикальными рядами, а потом эти ряды между собой, но опять же, не особо понимаю как все это реализовать.
Подскажите пожалуйста с как это реализовать, или что конкретно гуглить и изучить ?

 

VVSLawyer
()

RSS подписка на новые темы