Страницы

Поиск по вопросам

четверг, 7 марта 2019 г.

Как в скрипт на bash через консоль передать строку параметром?

Подскажите как можно передать строку параметром для bash скрипта.
Сам скрипт:
#!/bin/bash convert -font helvetica -fill white -pointsize 16 -draw 'text 10,50 "'$1'"' /var/www/img/display.jpg /var/www/img/comment.jpg
Пробовал вызвать так:
# ./display.sh "проверка текста"
И так:
# ./display.sh проверка\ текста
Скрипт воспринимает текст как два параметра, хочу разобраться как можно сделать, чтобы понимал как один параметр.


Ответ

Bash переменные вставляет всегда как один параметр внутри двойных кавычек и разбивает по пробелам если кавычек нет. У вас $1 стоит вне кавычек. Нужно написать так:
convert -font helvetica -fill white -pointsize 16 -draw 'text 10,50 "'"$1"'"' /var/www/img/display.jpg /var/www/img/comment.jpg

Комментариев нет:

Отправить комментарий