1. ホーム
  2. bash

[解決済み] Bashスクリプトの'''抜け'''がある] [クローズド]

2022-03-07 05:26:13

質問

./test.sh: 13行目: [: missing `]' in file test.sh というエラーが表示されます。 括弧を使ったり、-aなどの他のオプションを使ったり、ファイルp1のサイズをチェックしたりしてみましたが、エラーは常に存在し、与えられた入力に関係なくelse文が常に実行されています。

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

スペースに注意してください。