기본적으로 이 프로세스를 자동화하기 위해 bash 스크립트를 작성하고 싶습니다.
vi filename.sh
(vi를 사용하여 "filename.sh"를 엽니다.)
다음 두 줄을 추가합니다.
export GRADLE_HOME=/opt/gradle/gradle-5.2.1
export PATH=${GRADLE_HOME}/bin:${PATH}
그리고 이 변경사항을 저장하세요
:wq!
기본적으로 자동화를 위해 이를 젠킨스 파일에 추가하고 싶습니다.
답변1
vi
정의에 따르면 이는 시각적 편집기입니다.
이 경우에는 다른 방법을 사용하는 것이 좋습니다.
이 줄만 추가하려면 다음을 수행하세요.
cat >> filename.sh <<'EOF'
export GRADLE_HOME=/opt/gradle/gradle-5.2.1
export PATH=${GRADLE_HOME}/bin:${PATH}
EOF
파일이 아직 존재하지 않는 경우에도 작동합니다.
처음에 이러한 줄을 추가하려면 ed
줄 기반 편집기를 사용할 수 있습니다.
ed filename.sh <<'EOF'
1i
export GRADLE_HOME=/opt/gradle/gradle-5.2.1
export PATH=${GRADLE_HOME}/bin:${PATH}
.
w
q
EOF
이는 ed
행이 라인 1에 삽입됨을 나타냅니다. .
라인의 단일 지점은 입력의 끝을 나타내므로 삽입이 여기서 중지됩니다. 마지막으로 파일이 기록되고( w
) 편집 세션이 종료됩니다( q
).
파일이 아직 존재하지 않더라도 ed
(이 경우 위의 예를 사용함 cat
) 다음을 사용할 수 있습니다.
ed filename.sh <<'EOF'
i
export GRADLE_HOME=/opt/gradle/gradle-5.2.1
export PATH=${GRADLE_HOME}/bin:${PATH}
.
w filename.sh
q
EOF
i
주요 차이점은 아직 줄이 없기 때문에 insert 명령으로 줄 번호를 전달할 필요가 없다는 것입니다. 그런 다음 w
새 파일인 write 명령에 파일 이름을 전달합니다.
sed
잘 작동하지만 이러한 유형의 작업에서는 ed
사용하기가 더 쉽고 진행 상황을 읽는 것이 더 쉽습니다.
답변2
답변3
나는 @wurtel이 제안한 방식대로 할 수도 있지만, 어떤 이유로든 정말로 하고 싶다면육, 다음을$HOME/.vimrc 파일:
function AddVars()
let line1 = "export GRADLE_HOME=/opt/gradle/gradle-5.2.1"
let line2 = "export PATH=${GRADLE_HOME}/bin:${PATH}"
call append(line('$'), line1)
call append(line('$'), line2)
write
exit
endf
그럼 전화해육다음과 같이 -c 옵션을 사용하십시오.
vi filename.sh -c "call AddVars()"