UFO ET IT

Bash 스크립팅에 ']'누락

ufoet 2020. 11. 25. 21:44
반응형

Bash 스크립팅에 ']'누락


오류 ./test.sh : line 13 : [: missing`] 'in the file test.sh 나는 대괄호 및 -a와 같은 다른 옵션을 사용하거나 파일 p1의 크기를 확인하여 시도했지만 오류는 항상 거기에 있고 else 문은 주어진 입력에 관계없이 항상 실행됩니다. 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" ];

닫는 괄호 앞에 공백 추가


if [-s "p1"];

공간을 생각하십시오 : P

참고 URL : https://stackoverflow.com/questions/15993062/bash-scripting-missing

반응형