bestsource

Bash 스크립트 누락 ']'

bestsource 2023. 5. 29. 11:02
반응형

Bash 스크립트 누락 ']'

오류가 발생합니다./테스트.sh: line 13: [: missing ']' in file test.sh 에서 괄호와 -a와 같은 다른 옵션을 사용하거나 파일 p1의 크기를 확인하여 시도했지만 오류는 항상 존재하며 other 문은 주어진 입력에 관계없이 항상 실행됩니다.13번 줄에 있는 를 제거해 보기도 했지만 도움이 되지 않았습니다.

test.sh

#!/bin/bash
echo "Enter app name"
read y
$y &
top -b -n 1 > topLog.log
#-w checks for the whole word not and sub string from that word
grep -w "$y" topLog.log > p1
#-s option checks if the file p1 is present or not
if [ -s "p1"];  #line 13
then 
    echo "Successful "
else
    echo "Unsuccessful"
fi
rm p1

나는 bash 스크립팅이 처음입니다.그러니 바보 같은 실수가 있다면 용서해 주세요.

바꾸다

if [ -s "p1"];  #line 13

안으로

if [ -s "p1" ];  #line 13

공백을 기록합니다.

사용하는 동안 이 오류가 발생했습니다.&&연산자는 단일 괄호 안에 있습니다.[ ... && ... ]로 전환해야 했습니다.[[ ... && ... ]].

당신은 다음에 공간을 놓치고 있습니다."p1":

if [ -s "p1" ];

닫는 괄호 앞에 공백 추가

만약 당신이 당신의 스크립트를 윈도우에서 만들었고 그것을 리눅스 머신에서 실행하고 당신의 코드에 실수가 없다고 확신한다면, 당신은 리눅스 머신에 dos2unix를 설치하고 실행하세요.dos2unix yourscript.sh그런 다음 스크립트를 실행합니다.

언급URL : https://stackoverflow.com/questions/15993062/bash-scripting-missing

반응형