Re: Command substitution into argument to convert
Lewis <[email protected]> Tue, 14 Jun 2022 20:26:17 -0000 (UTC)
| Newsgroups | alt.comp.lang.shell.unix.bourne-bash |
|---|---|
| Organization | Miskatonic U |
| Message-ID | <[email protected]> |
In message <[email protected]> Michael F. Stemper <[email protected]> wrote: > On 13/06/2022 19.21, Lewis wrote: >> In message <[email protected]> Michael F. Stemper <[email protected]> wrote: >>> I'm trying to time-stamp image files as they're downloaded. The >>> following works fine: >> >>> $ convert -pointsize 20 -fill black -draw 'text 10,20 "06/13 14:13"' RadarMap.png Stamped.png >> >>> However, hard-coding the time stamp would make it worthless. What >>> I really want to use is the output of: >> >>> $ date +"%m/%d %H:%M" >> >> So do that. >> >> $ MYDATE=$(date +"%m/%d %H:%M");convert -pointsize 20 -fill black -draw 'text 10,20 "$MYDATE"' RadarMap.png Stamped.png > No error message is given. The text drawn on the image is: > $MYDATE Then it is still a quoting issue, probably beaus you hav single quotes around the outside. I do not use the convert tool, so I can’t tell you specifically what the issue is, but the first thing I wold do is eliminate the single quotes, assuming they are not required by convert. $ MYDATE=$(date +"%m/%d %H:%M");convert -pointsize 20 -fill black -draw "text 10,20 $MYDATE" RadarMap.png Stamped.png or maybe $ MYDATE=$(date +"%m/%d %H:%M");convert -pointsize 20 -fill black -draw "text 10,20 \"$MYDATE\"" RadarMap.png Stamped.png Remember that ' and " ae very different, and ' do not usually allow expansion of variables contained inside, but sometimes it is hard to know when a variable is being expanded by the shell and when it is being passed to the command. Either way, sometimes you just have to play with the quotes and the escapes. -- Were it not for frustration and humiliation I suppose the human race would get ideas above its station. -Ogden Nash