Ответ 1
Попробуйте сделать это, нет специального символа для конкатенации в bash:
mystring="${arg1}12${arg2}endoffile"
объяснения
Если вы не поместите скобки, вы спросите bash, чтобы объединить $arg112 + $argendoffile
(я думаю, это не то, что вы просили), как в следующем примере:
mystring="$arg112$arg2endoffile"
Скобки являются разделителями для переменных, когда это необходимо. Когда это не нужно, вы можете использовать его или нет.
другое решение
(менее портативное: требуетсяbash
> 3.1)
$ arg1=foo
$ arg2=bar
$ mystring="$arg1"
$ mystring+="12"
$ mystring+="$arg2"
$ mystring+="endoffile"
$ echo "$mystring"
foo12barendoffile