1. ホーム
  2. bash

[解決済み] Bashスクリプトの'''欠落''] [クローズド]

2023-01-14 03:30:51

質問

./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

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