2016-09-02 2 views
-1

저는 처음으로 젠킨스를 사용하여 연속 빌드 통합 작업을하고 있으며, .zip 파일을 다운로드해야하는 시점에서 충격을 받았습니다. 특정 URL을 압축 해제하고 내부의 .js 파일을 꺼내 "내 대상 폴더"에 바꿉니다. 그런 다음 .js 파일 중 하나의 변수 값을 다른 값으로 바꿉니다.zip을 다운로드하고 .js 파일의 변수 값을 쉘 스크립트를 사용하여 다른 값으로 바꿉니다.

쉘 스크립트에서 url의 .zip 파일을 압축 해제하고 복사하고 다운로드 할 수 있습니다. 내 후속 쿼리에 나를 도울 수 있습니다.

.js 파일 (first.js) 중 하나에 변수 var urlValue = "http://www.ncebpm1295aph01.abc.net"이 있습니다. 나는 그 가치가되기를 원한다. var urlValue = "http://www.ncebpm1217web01.abc.net"

답변

0

글쎄, wget, 아마도 쉘 스크립트를 사용하여 파일을 얻고 싶을 것이다. 파일이 자바 스크립트 구문에 맞게 포맷됩니다 있지만, 사용자가 액세스하는 쉘 인터프리터를 사용하여 파일을 다시 작성하기 때문에

wget http://www.ncebpm1295aph01.abc.net

이 정말 자바 스크립트에 대한 질문이 없습니다.

sed 명령을 사용해 보시기 바랍니다. 다음 코드는 안된 :

sed -i 's|http://www.ncebpm1295aph01.abc.net|http://www.ncebpm1217web01.abc.net' yourFile.js

설명 :이 (-i 인자를 사용하여) 이전 파일을 덮어 씁니다 - 새 명령을 실험 할 때 매우 위험한 작업입니다! 테스트 목적으로 -i 매개 변수를 제거하고 쓸 새 파일을 지정하는 것이 좋습니다. 그러나 원래 질문에 대한 대답이라고 생각하는 내용을 제공했습니다.

제한 사항 : 파일 내 각 줄에 일치하는 문자열 의 첫 번째 인스턴스 만 각각으로 바꿉니다. 또한 스크립트를 동적으로 만들기 위해 변수에 넣을 문자열을 정확히 일치시킵니다. sed을 읽어 보면 추가 옵션에 대해 설명 할 것입니다. 쉘 스크립팅에 익숙하지 않으므로 확실하지 않습니다. 그러나 첫 번째 일치 후 종료 할 수있는 매개 변수가 있어야합니다.

변경하려는 변수가 작업중인 JS 파일의 맨 위에 있어야한다는 것을 의미합니다.

+0

어떻게 grep 명령을 사용하여 "var urlValue"변수에 액세스합니까? 그리고 그 값을 어느정도 재정의합니까? 그러한 모든 해결책이 가능합니까? –

+0

왜'grep' 명령을 사용하고 싶습니까? 'cat'의 출력을'grep'으로 파이프 할 수 있습니다. 여러분이 원하는 정규 표현식이나 문자열을 필터링 할 수 있습니다. 당신은 단순히 당신이 대체하기를 원하는 (이미 추측하고있는) 문자열을 가질 것입니다. 실제로 해답을 시도 했습니까? 대답은 어떤 식 으로든 귀하의 질문에 대답하지 못합니까? grep을 사용하는 것이 절차의 필수 부분 인 경우 어떤 이유로 grep을 사용해야 함을 반영하여 질문 본문을 업데이트하십시오. – GrayedFox

+1

저는 macOSX를 사용하고있었습니다. sed -i '' 's | http : //www.ncebpm1295aph01.abc.net | http : //www.ncebpm1217web01.abc.net'yourFile.js를 사용했습니다. –

관련 문제