구문 피연산자에 대한 Bash 스크립트 오류 예상 "="

Chisx

이 코드 줄에서 Bash 셸 스크립트 script.sh오류가 발생 합니다.

let initialLines=$(grep '' "$1" | wc -l || true)

오류는 다음과 같습니다. script.sh: line 146: let: initialLines=: syntax error: operand expected (error token is "=")

여기서 구문 적으로 잘못된 것은 무엇입니까?

mklement0

tl; dr :

명령 대체를 큰 따옴표로 묶으십시오.

let initialLines="$(grep '' "$1" | wc -l || true)"

즉, chepner의 유용한 답변 에서 설명했듯이 RHS를 이중 인용 할 필요없이 간단한 할당 만 사용할 수 있지만 let여기 와 동일한 결과를 얻으려면 -i먼저 변수를 선언해야합니다 . 예 :declare -i initialLines


할당$(...)RHS (명령 대체 ( )) 는 명령이 실행되기 전에 발생 하는 셸 확장 과정에서 문자열 또는 공백 접두사가 붙은 문자열평가 되므로 bash결국 하나를 구문 분석하려고합니다. 다음 명령 중 :

let initialLines=

let initialLines=   2

이것을 분리하여 시도하면 경험 한 구문 오류가 발생합니다.


가장 가능성이 높은 설명은 macOS에서와 같이 BSD를 사용 wc하고 -l있으며 선행 공백으로 요청 된 줄 수를 출력한다는 것 입니다.


간단한 수정은이다 를 두 번 인용 명령 대체를 :

let initialLines="$(grep '' "$1" | wc -l || true)"

명령 대체의 명령과 관련하여 (예시 일 수 있지만 주석 처리 할 가치가 있습니다) :

  • grep ''항상 모든 입력 라인을 반환 하므로 덜 효율적 cat입니다.

  • 사용에 의미가 없습니다 || true.

    • 명령 대체가 실행되는 서브 쉘의 종료 코드는 set -e효과가 있더라도 관련이 없습니다 .

    • 또한 빌트인 stdout 출력없기 때문에 true대체 명령 으로 사용 하면 let명령도 중단 됩니다.true

  • 요약하면 전체 명령 대체를 wc -l < "$1".

이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.

침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제

에서 수정
0

몇 마디 만하겠습니다

0리뷰
로그인참여 후 검토

관련 기사

분류에서Dev

구문 오류 : "("bash 스크립트에서 예상치 못한)

분류에서Dev

Bash 스크립트 : 중첩 된 문 내에서 '구문 오류 : "fi"예상치 못한 "

분류에서Dev

bash 스크립트에서 예기치 않은 구문 오류`( "

분류에서Dev

Bash 오류 "구문 오류 : 피연산자가 예상 됨"이지만 피연산자가 있습니다.

분류에서Dev

Bash 스크립트 오류 : "구문 오류 : 피연산자가 필요합니다 (오류 토큰은"/ backup ")."

분류에서Dev

구문 오류 가져 오기 : 쉘 스크립트에서 예상치 못한 "fi"( "then"예상)

분류에서Dev

구문 오류 : "("예기치 않은 (예상 단어) --- 내 bash 스크립트에서

분류에서Dev

쉘 스크립트 실패 : 구문 오류 : "("예상치 못한

분류에서Dev

bash 스크립트 구문 오류 : 예기치 않은 단어 ( "do"예상)

분류에서Dev

루프 오류에 대한 쉘 스크립트 : 구문 오류 : 예기치 않은 단어 ( "do"필요)

분류에서Dev

간단한 bash 스크립트 실행이 구문 오류 : 예기치 않은 단어 ( ")"예상)와 함께 실패합니다.

분류에서Dev

자바 스크립트 : "라벨"을 사용할 때 이상한 구문 오류

분류에서Dev

Jenkinsfile의 쉘 스크립트 블록에 대한 예기치 않은 토큰`< '근처의 구문 오류

분류에서Dev

PHP 스크립트에서 시스템 bash 명령 실행-구문 오류 : 예기치 않은 T_LNUMBER

분류에서Dev

bash 스크립트 행에 대한 적절한 구문

분류에서Dev

-bash : 스크립트에서 예기치 않은 토큰 '완료'근처의 구문 오류

분류에서Dev

-bash : 스크립트에서 예기치 않은 토큰 '완료'근처의 구문 오류

분류에서Dev

Bash 스크립트 : 예기치 않은 토큰 근처에 구문 오류가 있습니까?

분류에서Dev

대시에서 프로세스 대체를 사용할 때 '구문 오류 : "("예상치 못한 "오류보고

분류에서Dev

구문 오류 : 예기치 않은 파일 끝-Bash 스크립트

분류에서Dev

예기치 않은 토큰 'fi'근처의 구문 오류, bash 스크립트

분류에서Dev

Bash 스크립트 : 예기치 않은 토큰`( '근처의 구문 오류

분류에서Dev

자바 스크립트 구문 오류 이상?

분류에서Dev

$ (pwd)의 Bash 스크립트 하위 문자열? 잘못된 대체 오류

분류에서Dev

토큰 "("에 대한 Java 구문 오류,; 예상 됨

분류에서Dev

파일 수정 날짜 추적에 대한 스크립트의 구문 오류

분류에서Dev

문자열에 대한 bash 스크립트 변수에서 json 구문 분석

분류에서Dev

Postgresql-json 피연산자에 대한 설명되지 않은 구문 오류

분류에서Dev

쉘 스크립트에서 예상치 못한 운영자 오류

Related 관련 기사

  1. 1

    구문 오류 : "("bash 스크립트에서 예상치 못한)

  2. 2

    Bash 스크립트 : 중첩 된 문 내에서 '구문 오류 : "fi"예상치 못한 "

  3. 3

    bash 스크립트에서 예기치 않은 구문 오류`( "

  4. 4

    Bash 오류 "구문 오류 : 피연산자가 예상 됨"이지만 피연산자가 있습니다.

  5. 5

    Bash 스크립트 오류 : "구문 오류 : 피연산자가 필요합니다 (오류 토큰은"/ backup ")."

  6. 6

    구문 오류 가져 오기 : 쉘 스크립트에서 예상치 못한 "fi"( "then"예상)

  7. 7

    구문 오류 : "("예기치 않은 (예상 단어) --- 내 bash 스크립트에서

  8. 8

    쉘 스크립트 실패 : 구문 오류 : "("예상치 못한

  9. 9

    bash 스크립트 구문 오류 : 예기치 않은 단어 ( "do"예상)

  10. 10

    루프 오류에 대한 쉘 스크립트 : 구문 오류 : 예기치 않은 단어 ( "do"필요)

  11. 11

    간단한 bash 스크립트 실행이 구문 오류 : 예기치 않은 단어 ( ")"예상)와 함께 실패합니다.

  12. 12

    자바 스크립트 : "라벨"을 사용할 때 이상한 구문 오류

  13. 13

    Jenkinsfile의 쉘 스크립트 블록에 대한 예기치 않은 토큰`< '근처의 구문 오류

  14. 14

    PHP 스크립트에서 시스템 bash 명령 실행-구문 오류 : 예기치 않은 T_LNUMBER

  15. 15

    bash 스크립트 행에 대한 적절한 구문

  16. 16

    -bash : 스크립트에서 예기치 않은 토큰 '완료'근처의 구문 오류

  17. 17

    -bash : 스크립트에서 예기치 않은 토큰 '완료'근처의 구문 오류

  18. 18

    Bash 스크립트 : 예기치 않은 토큰 근처에 구문 오류가 있습니까?

  19. 19

    대시에서 프로세스 대체를 사용할 때 '구문 오류 : "("예상치 못한 "오류보고

  20. 20

    구문 오류 : 예기치 않은 파일 끝-Bash 스크립트

  21. 21

    예기치 않은 토큰 'fi'근처의 구문 오류, bash 스크립트

  22. 22

    Bash 스크립트 : 예기치 않은 토큰`( '근처의 구문 오류

  23. 23

    자바 스크립트 구문 오류 이상?

  24. 24

    $ (pwd)의 Bash 스크립트 하위 문자열? 잘못된 대체 오류

  25. 25

    토큰 "("에 대한 Java 구문 오류,; 예상 됨

  26. 26

    파일 수정 날짜 추적에 대한 스크립트의 구문 오류

  27. 27

    문자열에 대한 bash 스크립트 변수에서 json 구문 분석

  28. 28

    Postgresql-json 피연산자에 대한 설명되지 않은 구문 오류

  29. 29

    쉘 스크립트에서 예상치 못한 운영자 오류

뜨겁다태그

보관