홈>
헤더와 본문이라는 두 개의 문자열 인수가있는 함수 (notify_dba)가 있습니다. (수정)cron에서는 셸 프롬프트에서 제대로 작동하지만Err은 셸 또는 cron에서 작동하지 않습니다 (그러나 ...?) :
53 notify_dba "${FRIENDLY_SERVER_NAME}: New ORA errors in AlertLog" echo ${
54 "Please check full log in ${ALERT_LOG_LOCATION}.
55 =====================================================
56 `grep -A900000 "${LAST_LINE_FROM_ARCHIVE}:" ${TEMPORARY_LOG_WITH_ORA_ERRORS} | grep -v "${LAST_LINE_FROM_ARCHIVE}:"`
57 =====================================================
58 "}
오류가 발생했습니다 :
Wed Jan 16 06:00:01 PST 2019
LAST_LINE_FROM_ARCHIVE=449843
LAST_LINE_FROM_TEMP= 452866
/u01/app/oracle/admin/chk_alertlog.sh: line 53: ${
"Please check full log in ${ALERT_LOG_LOCATION}.
=====================================================
`grep -A900000 "${LAST_LINE_FROM_ARCHIVE}:" ${TEMPORARY_LOG_WITH_ORA_ERRORS} | grep -v "${LAST_LINE_FROM_ARCHIVE}:"`
=====================================================
"}: bad substitution
- 답변 # 1
트렌드
- OpenCv의 폴더에서 여러 이미지 읽기 (python)
- 파이썬 셀레늄 모든 "href"속성 가져 오기
- html - 자바 스크립트 - 클릭 후 변경 버튼 텍스트 변경
- javascript - 현재 URL에서 특정 div 만 새로 고침/새로 고침
- JSP에 대한 클래스를 컴파일 할 수 없습니다
- JavaScript 변수를 HTML div에 '출력'하는 방법
- git commit - 자식 - 로컬 커밋 된 파일에 대한 변경을 취소하는 방법
- jquery - JavaScript로 현재 세션 값을 얻으시겠습니까?
- javascript - swiperjs에서 정지, 재생 버튼 추가
- python - 화면에서 찾은 요소를 찾을 수없는 경우 셀레늄
질문에 대한 의견에서 지적한 것처럼 오류는 인용되지 않은
${
때문입니다 매개 변수 확장을 트리거합니다 (man bash
의 "EXPANSION"섹션에있는 "매개 변수 확장"참조) ).즉, 여러 줄의 텍스트 블록을 전달할 수 있습니다. 올바르게 인용하면됩니다 :
정적이면 작은 따옴표는 괜찮습니다 :
실행 시간에 빌드하려면
$
의 특별한 의미를 유지하는 큰 따옴표를 사용해야합니다.`
그리고\
, 매개 변수 확장 및 명령 대체를 허용 :큰 따옴표로 묶인 문자열의 어느 곳에 나 나타나는 확장은 그 자체로 인용됩니다. 따라서 간격이 유지됩니다 (예 :
Sample text
).복잡한 문자열을 함수에 전달하는 가장 읽기 쉬운 방법은 아마도 변수를 사용하는 것입니다 :
두 번째 인자는 다음과 같은 이유로 큰 따옴표로 표시해야합니다. 1) 인용 부호가 없으면 셸에 의해 확장되고 둘 이상의 단어가 생성되면둘 이상의 인수로 번역됩니다기능에 em>;2) 작은 따옴표로 묶으면 문자 그대로 문자열
$mlblock
로 해석됩니다. .대신 함수를 호출 할 때 인수 문자열을 만들 수도 있습니다 :