예기치 않은 토큰 근처의 Bash 구문 오류 수정
잡집 / / May 30, 2022
Linux Bash 터미널에서의 코딩은 코딩 부문에서 지배적인 관행이 되었습니다. 코딩 언어를 배우는 소프트웨어 엔지니어와 학생들은 다양한 오류에 직면합니다. 예기치 않은 토큰 '(' 또는 Bash 구문 오류 근처에서 구문 오류와 같은 오류를 반복적으로 본 경우 예상치 못한 토큰에 가까우면 기사에 설명된 방법을 사용하여 전문가가 될 수 있습니다. 코더. 기사에 설명된 방법을 설명된 순서대로 읽고 파일의 명령줄 오류를 수정하십시오.
내용물
- 예기치 않은 토큰 근처의 Bash 구문 오류를 수정하는 방법
- 방법 1: 각 명령줄에서 수동으로 오류 수정
- 1단계: 파일 내용 읽기
- 2단계: Windows 줄 바꿈 제거
- III 단계: 새로 생성된 파일에 대한 권한 설정
- IV 단계: 파일의 코드 서식 지정
- 방법 2: 코드 재작성
- 방법 3: Dos2unix.exe 명령 사용
예기치 않은 토큰 근처의 Bash 구문 오류를 수정하는 방법
Linux Bash는 Linux 기반 시스템용 명령줄 인터프리터이며 Bourne Shell 또는 sh를 대체합니다. 파일 이름은 Linux에서 .sh 형식을 사용하여 지정됩니다. 세게 때리다 스크립팅. 셸 스크립트의 코드에 형식 문제가 있는 경우 구문 오류가 발생할 수 있습니다. 오류가 에 가까우면 ( 문자를 입력하면 셸은 해당 줄에 오류를 표시하고 해당 줄에 오류를 표시합니다. Linux Bash는 인터프리터이므로 오류가 있는 줄이 터미널에 반환되고 스크립트의 나머지 명령 검색을 중지합니다. 따라서 특정 명령줄에서 오류를 수정하고 다음으로 진행하여 셸 스크립트에서 예기치 않은 토큰 오류를 수정해야 합니다. Linux Bash에서 예기치 않은 토큰 근처에 구문 오류가 발생하는 원인은 이 섹션에 아래와 같이 나열되어 있습니다.
- 이스케이프 시퀀스를 사용한 코딩- Bash 스크립팅에서 코드를 작성한 경우 스크립트의 이스케이프 시퀀스 또는 따옴표로 인해 오류가 발생할 수 있습니다. 오류를 수정하려면 이스케이프 시퀀스와 인용 부호를 올바른 형식으로 작성해야 합니다.
- 코딩 파일의 잘못된 구문- 루프 순서 변경과 같이 잘못된 구문으로 명령을 작성하면 코드의 구문에서 구문 오류가 발생할 수 있습니다.
- 잘못된 명령 사용- 잘못된 값 할당과 같이 명령을 올바르게 사용하지 않으면 구문 오류가 발생할 수 있습니다.
- 시스템에서 호환되지 않는 OS- 코딩 스크립트용 셸이 Unix와 DOS 시스템 간에 호환되지 않으면 예기치 않은 오류가 발생할 수 있습니다.
- bash 쉘 스크립트의 문제- 다른 시스템에서 복사한 파일의 bash 셸 스크립트에서 실행되는 문제로 인해 예기치 않은 토큰 오류가 발생할 수 있습니다.
이름이 지정된 파일을 고려하십시오. 예.sh 설명을 위해 다음 명령줄을 사용하여 Linux Bash 스크립팅에서 생성되었습니다. 예제 파일에는 구문 오류 가능성이 있으며 셸 스크립트에서 사용할 수 있는 모든 가능한 명령이 포함되어 있습니다.
str= '스크립트에서 '(예제 파일)'의 첫 번째 명령줄'str= [(1,2),(3,4)]if[ $day == "월" ] 그러면 에코 "월"또 다른 에코 "노 월"파이{0..2}의 VARIABLE에 대해; 그 다음에에코 명령 1을 수행하십시오. 에코 명령2; 에코 명령3; 에코 명령4; 완료사실이지만; do if [ $ day == "mon" ]; 그런 다음 "월"을 에코합니다. else echo "월 아님"; 완료; 파이
방법 1: 각 명령줄에서 수동으로 오류 수정
오류를 수정하는 첫 번째 방법은 스크립트의 각 명령줄에서 구문 오류를 수동으로 수정하는 것입니다. 명령줄에서 예기치 않은 토큰 근처의 구문 오류를 해결하는 단계는 이 섹션에서 설명합니다. 터미널에서 예기치 않은 토큰 오류를 수정하는 프로세스는 다음과 같습니다. 에서 파일을 실행 단말기 를 입력하여 ./예시.sh 명령을 누르고 입력하다열쇠.
2. 참고 윤곽 아래 결과의 명령줄에 예기치 않은 토큰 오류가 있는 경우.
3. 오류 수정 아래에 개별적으로 논의된 방법을 따라 각 라인에서 절약 파일.
4. 운영 변경 후 파일을 다시 실행하고 파일에서 구문 오류가 해결되었는지 확인하십시오.
또한 읽기:Windows 10에 Linux Bash 셸을 설치하는 방법
1단계: 파일 내용 읽기
명령줄에서 구문 오류를 해결하는 첫 번째 단계는 터미널에서 파일을 읽는 것입니다. 파일에 문제가 있는 경우 파일을 볼 수 없습니다. 파일을 보는 일반적인 방법은 다음 명령을 사용하여 파일을 실행하는 것입니다. ./예시.sh 그러나 파일의 내용은 수정할 수 없습니다. 파일 내용을 보고 예기치 않은 토큰 '(') 근처의 구문 오류를 수정하기 위해 명령줄을 수정하는 옵션은 아래에 설명되어 있습니다.
옵션 1: CAT 명령을 통해
첫 번째 옵션은 고양이 쉘 스크립트에서 파일을 보는 명령. 명령을 입력하여 cat 명령을 사용하여 예기치 않은 토큰 오류가 있는 파일의 내용을 읽습니다. 고양이 –v example.sh 터미널에서.
참고 1: 그만큼 예.sh 설명을 위해 사용되며 예기치 않은 토큰 오류가 있는 파일의 이름을 입력해야 합니다.
노트 2: cat -v 명령은 캐리지 리턴 또는 공백 없음을 나타낼 가능성이 있는 모든 보이지 않는 문자를 표시하는 데 사용됩니다.
옵션 2: VX 명령을 통해
cat 명령을 사용할 수 없는 경우 vx 명령을 사용하여 아래 단계에 따라 파일의 명령을 보고 변경할 수 있습니다. 입력 sh –vx ./example.sh 터미널에서 명령을 실행하여 파일을 엽니다.
옵션 3: od –a 명령을 통해
3. 명령줄에 보이지 않는 문자가 몇 개 있는 경우 od –a 명령을 사용하여 파일을 볼 수 있습니다. 파일의 내용이 코드 파일에 표시되지 않으면 다음 명령을 사용하여 파일 읽기를 시도할 수 있습니다. od – example.sh 코드를 수정합니다.
2단계: Windows 줄 바꿈 제거
셸 스크립트에 Windows 줄 바꿈이 있는 경우 콘솔 명령을 사용하여 줄 바꿈을 제거하고 코드 줄을 새 파일에 복사하여 오류를 수정할 수 있습니다.
터미널에 다음 명령을 입력하여 파일의 내용을 수정된예제.sh 스크립트에서 Windows 줄 바꿈을 제거합니다.
tr -d '\r'수정된예제.sh
III 단계: 새로 생성된 파일에 대한 권한 설정
셸에서 파일을 실행할 수 있도록 파일을 편집하려면 새로 생성된 파일에 대한 권한을 설정해야 합니다. 다음과 같이 명령을 입력하십시오. chmod 755 수정된example.sh 터미널에서 파일에 대한 권한을 제공하고 파일을 실행합니다. 이제 수정된 파일을 보고 형식 문제를 수정하고 파일에서 예기치 않은 토큰 '(') 근처의 구문 오류를 수정할 수 있습니다.
IV 단계: 파일의 코드 서식 지정
두 번째 단계는 코드 줄을 개별적으로 포맷하고 파일에서 수동으로 명령줄을 변경하는 것입니다. 예기치 않은 토큰 '(') 근처의 구문 오류를 수정하기 위해 파일 형식을 지정하는 옵션은 이 섹션에서 아래에 설명되어 있습니다.
옵션 1: 작은따옴표를 큰따옴표로 바꾸기
명령줄에서 작은 따옴표를 사용하는 경우 구문 오류를 수정하려면 작은 따옴표를 큰 따옴표로 바꿔 명령을 변경해야 합니다. 에서 예.sh 파일에서 ‘ 그리고 ’ 아니면 그 작은따옴표 명령에서 작은 따옴표를 다음으로 바꿉니다. 큰따옴표 아니면 그 “ 그리고 ’’. 여기 예제 파일에서 코드를 다음과 같이 변경해야 합니다. str= "스크립트에서 "\(example file)\"의 첫 번째 명령줄"
메모: 다음과 같은 매개변수 유형 명령에는 큰따옴표가 필요합니다. str= "[(1,2),(3,4)]".
또한 읽기:2022년 최고의 경량 Linux 배포판 20개
옵션 2: 문자열 행에 $ 추가
스크립트에 문자열 값을 추가한 경우 스크립트의 구문 오류를 수정하려면 문자열 값에 $를 추가해야 합니다. 추가 $ 명령줄의 경우 끈 예상치 못한 오류를 수정하기 위한 값. 여기 예제 파일에서 명령줄을 다음과 같이 변경합니다.
str= $ '스크립트에서 '\(예제 파일)\'의 첫 번째 명령줄'
메모: 사용하는 경우 $ 문자열 값에서 명령줄이 ANSI C 표준에 의해 디코딩되므로 백슬래시 이스케이프 시퀀스를 무시할 수 있습니다. 즉, 문자열 값에 $를 사용하면 명령줄에서 작은따옴표 대신 큰따옴표를 사용하는 것을 피할 수 있습니다.
옵션 3: 탭을 공백으로 변환
스크립트의 구문 오류를 수정하려면 명령의 두 명령문 사이에 공백을 탭 대신 공백으로 남겨야 합니다. Cygwin에서 오류가 발생하는 경우 코드의 탭을 공백으로 변환하여 오류를 수정할 수 있습니다. 명령줄은 다음과 같이 제공됩니다.
에코 명령 1을 수행하십시오. 에코 명령2; 에코 명령3; 에코 명령4; 완료
오류를 수정하려면 위의 명령을 아래와 같이 다시 작성해야 합니다.
에코 명령 1을 수행하십시오. 에코 명령2; 에코 명령3; 에코 명령4; 완료
옵션 4: 이스케이프 문자 사용
bash 문자를 사용하는 경우 bash 문자와 함께 이스케이프 문자를 사용하여 구문 오류를 수정하는 것이 중요합니다. 그만큼 괄호 또는 () 파일의 bash 특수 문자이므로 이스케이프 문자 또는 백슬래시 명령을 실행하기 위해 일반 문자를 이스케이프하려면 명령줄에서 그만큼 str= '스크립트에서 \'(예제 파일)\'의 첫 번째 명령줄' 명령은 이스케이프 문자가 사용되기 때문에 터미널에서 오류를 제공하지 않습니다.
또한 읽기: Linux에서 우리 사이에 들어가는 방법
옵션 5: 문자 사이에 공백 사용
쉘 스크립트는 스크립트의 명령과 명령문을 기본값으로 인식합니다. 쉘이 스크립트에서 주어진 명령을 식별할 수 있도록 문자 사이의 적절한 공간 사용을 보장해야 합니다. 공백은 명령줄에서 두 문자를 구별하는 데 사용되는 문자입니다. 코드에서 사이에 공백이 없습니다. 만약에 그리고 [, 예기치 않은 토큰 오류를 다음과 같이 제공합니다. 만약에[ 명령은 쉘에서 식별되지 않습니다. 코드가 다음으로 변경되면 if [ $ 일 == "월" ]; 그러면 쉘 게시판 명령으로 오류를 해결할 수 있습니다. 만약에 쉘로 식별됩니다.
옵션 6: 명령문에 명령 구분 기호 사용
셸 스크립트의 다양한 명령은 터미널이 개별 명령을 식별할 수 있도록 명령문으로 분리해야 합니다. Linux Bash에서 구문 오류를 수정하려면 명령 구분 기호를 사용해야 합니다. 명령의 명령문은 세미콜론이나 ; 또는 입력하다 열쇠. 예를 들어, 코드의 명령 if [ $ day == "mon" ] 그러면 로 변경되어야 합니다. if [ $ 일 == "월" ]; 그 다음에 오류를 수정합니다. 세미콜론은 문자 사이의 명령 구분 기호로 사용되기 때문에 [ 그리고 그 다음에, 이 오류를 수정할 수 있습니다.
옵션 7: 추가 문 제거
경우에 따라 명령문을 추가했거나 중첩 루프가 여러 개인 경우 코드를 혼동했을 수 있습니다. Linux Bash에서 예기치 않은 토큰 '(' 근처의 구문 오류를 수정하려면 명령줄에서 추가 명령문을 제거해야 합니다. 배쉬 루프 ...을 위해 또는 구조적 구조 만약… 파이 올바른 구문에 있어야 합니다. 예제 파일에 잘못된 구문이 있습니다. ~을 위한 루프에는 용어가 있습니다. 그 다음에 에 사용되는 만약에 성명. 다음 코드와 같이 코드를 수정하면 예기치 않은 토큰 오류가 수정됩니다. 성명 그 다음에 코드의 추가 명령문이며 용어를 제거하면 오류가 수정됩니다.
{0..2}의 VARIABLE에 대해; 에코 명령 1을 수행하십시오. 에코 명령2; 에코 명령3; 에코 명령4; 완료
옵션 8: 명세서 마감 순서가 올바른지 확인
쉘 스크립트에서 많은 중첩 또는 조건부 구성문을 사용하는 경우 루프가 열리는 순서대로 닫혀 있는지 확인해야 합니다. 새 줄 구분 기호를 사용하여 루프와의 충돌을 피할 수 있습니다. 중첩 루프와 조건문을 닫는 순서는 정확해야 하며 변경해서는 안 됩니다. 코드의 루프 사실이지만; do if [ $ day == "mon" ]; 그런 다음 "월"을 에코합니다. else echo "월 아님"; 완료; 파이 올바른 순서로 닫아야 합니다. 아래와 같이 코드를 변경하면 문을 닫는 순서가 수정되어 예기치 않은 토큰 오류를 수정할 수 있습니다.
사실이지만; do if [ $ day == "mon" ]; 그런 다음 "월"을 에코합니다. else echo "월 아님"; 파이; 완료
또한 읽기:명령줄 해석기란 무엇입니까?
방법 2: 코드 재작성
코드를 복사하여 터미널의 새 파일에 붙여넣었다면 수동으로 코드를 다시 작성하여 오류를 수정할 수 있습니다. 쉘 스크립트에서 형식 오류 없이 코드를 작성한 경우 코드의 오류를 수정할 수 있습니다. Microsoft Word와 같은 텍스트 편집기의 숨겨진 문자 및 서식 문제로 인해 코드를 복사하여 붙여넣는 데 사용했을 수 있으므로 오류가 발생했을 수 있습니다.
방법 3: Dos2unix.exe 명령 사용
Unix 운영 체제를 사용하는 경우 줄 바꿈 문자가 있는 코드를 다음과 같이 작성할 수 있습니다. \N 파일의 다음 줄로 이동합니다. 그러나 Windows OS를 사용하는 경우 캐리지 리턴 및 줄 바꿈 또는 \r\n 파일에서. Windows OS에서 작성한 코드를 Cygwin에서 실행하면 예기치 않은 토큰 '(') 근처에서 Syntax 오류가 발생할 수 있습니다.
오류를 수정하려면 다음을 사용하여 캐리지 리턴 문자를 지워야 합니다. DOS에서 유닉스로 명령줄 도구를 텍스트 파일 형식 변환기로 사용합니다. 다음 명령을 다음과 같이 입력하십시오. dos2unix.exe example.sh 터미널에서 파일을 Unix 형식으로 변환할 수 있습니다.
추천:
- Android에서 텔레그램 계정을 만드는 방법
- Windows 10에서 런타임 오류 C++ 수정
- Github 계정을 영구적으로 삭제하는 방법
- 최고의 Linux용 그래픽 카드 14가지
이 기사에서는 수정하는 기본 방법에 대해 논의했습니다. 예기치 않은 토큰 근처의 Bash 구문 오류‘(’ 스크립트에서. Linux Bash를 사용하는 경우 이 섹션에서 설명하는 방법을 사용하여 예기치 않은 토큰 근처의 Bash 구문 오류를 수정할 수 있습니다. 전체 기사를 읽고 내용이 유용하다고 판단되면 의견 섹션에 제안 사항과 쿼리를 알려주십시오.