sed -i
-i
говорит редактировать файл на месте, то есть записать новую версию поверх того же имени/JBOSS_HOME\/bin\/run.sh/
Шаблон, разделенный косой чертой, косые черты, содержащиеся в шаблоне, заключаются в кавычки с обратной косой чертой, так что это соответствует любой строке, содержащей
JBOSS_HOME / bin / run.sh
. (На самом деле, поскольку это регулярное выражение, точка соответствует любому символу.)i \export TMP_FOLDER=$JBOSS_HOME/server/default/tmp '
Команда, запускаемая при совпадении шаблона,
i
предназначена для вставки строки (перед текущей). Добавляемая строка разделяется обратной косой чертой, поэтому добавляется строкаexport TMP_FOLDER = $ JBOSS_HOME / server / default / tmp
./home/jboss/runJBOSSEAP.sh
Имя целевого файла.
например.
$ echo JBOSS_HOME/bin/run.sh > pla $ sed -i '/JBOSS_HOME\/bin\/run.sh/i \export TMP_FOLDER=$JBOSS_HOME/server/default/tmp ' pla $ cat pla export TMP_FOLDER=$JBOSS_HOME/server/default/tmp JBOSS_HOME/bin/run.sh
Это почти то же самое, что, например, пример здесь