Предупреждение/ошибка qgroups BTRFS

Jenkinsfile является своего рода дополнением к системам контроля версий. Он работает с конвейеры и текстовые файлы.

Это хороший пример для демонстрации интерактивного и запрограммированного подходов, т. е. различий.

Процесс можно разделить на три части, как указывает OQ:

1 )открыть ФАЙЛ в интерактивном (и, следовательно, :визуальном )редакторе

2 )ДОБАВИТЬ 2 строки. Линейные шумовые линии. Добавить (или вставить )куда?

3 )Сохранить. Упомянутые дополнительные :wq. Но мы не делаем ключевые макросы здесь.

Теперь вы переводите на автоматизированный. Во-первых, я упрощаю, документ Wurtel HERE — хорошее начало. Но является ли это законченным «решением»? я предлагаю:

Создайте файл только с этими двумя строками. Они постоянны и содержат знаки доллара. Назовите его gradle-linesпока. В любом случае хорошая инвестиция:

export GRADLE_HOME=/opt/gradle/gradle-5.2.1
export PATH=${GRADLE_HOME}/bin:${PATH}

Теперь можно

cat gradle-lines >>filename.sh

И после

alias grad-append='cat gradle-lines >>'вы можете ввести

град -ap (TAB )имя файла (TAB)

...для запуска псевдонима с именем файла. Любое имя файла.


grad-append filename.shэто сокращение отcat gradle-lines >> filename.sh

Больше мне показать нечего!(Так просто)


Решение с sed -iкажется альтернативой. Обязательно, если вы планируете вставлять эти строки в специальное место. Помимо Perl и т. д., но это другой калибр и здесь он действительно не нужен.

В любом случае это два немного разных элементарных шага :добавление >>и сглаживание.

Но Jenkinspipe и >>двухстрочного -файла должны быть n.p. Для этого нужно больше спецификаций.

ПС:

Я проверил все это. Я имею в виду, что я тестировал гораздо больше, пока не понял, что файла с двумя строками и >>достаточно. Грязный Q!


Я начал этот вопрос с положительной оценки ответа Вюртеля; вот его основное решение, о котором я упоминал выше,ЗДЕСЬ документ. Я должен отдать ему должное, формально. Клянусь, я пошел в обход с info sedи tmpf=mktempи даже cp $(mktemp), но затем добавить к какому файлу? Вот Вюртель ЗДЕСЬ:


Если вы хотите добавить только эти строки, сделайте что-то вроде:

cat >> filename.sh <<'EOF'
export GRADLE_HOME=/opt/gradle/gradle-5.2.1
export PATH=${GRADLE_HOME}/bin:${PATH}
EOF

Это также будет работать, если файл еще не существует.


Если вы поместите это в сценарий или функцию, она будет называться grad-append, как в моем решении. Но это функция (к счастью ), потому что ей нужен (к сожалению )позиционный параметр $1. "filename.sh" теперь жестко закодирован -.

И этому документу также не хватает модульности; функция и данные смешаны. Это может быть идеальным для определенных ситуаций. Но мой вариант более гибкий и прямой.

Что, если он --только раз в то время как --хочет :read gradle-linesвойти в vim в интерактивном режиме? Мое решение имеет многоразовые модули в качестве побочного эффекта.

0
26.03.2021, 10:35
0 ответов

Теги

Похожие вопросы