2017-08-17 16 views
0

私はUbuntuのためのシェルスクリプトを書こうとしています。これはTeamspeak-serverのステータスを確認して反応します。Shellscript(Ubuntu)でTeamspeakの状態を確認してください

この私の実際のバージョンされています

a=$(sh /home/teamspeak3/ts3/teamspeak3-server_linux_amd64/ts3server_startscript.sh status) 
echo "$a" 
if [ "$a" -ne "Server is running"] 
then 
echo "..." 
fi 
exit 0 

これは私の実際の出力(問題)である:

[email protected]:~$ ./keepAlive.sh 
Server is running 
./keepAlive.sh: line 8: syntax error: unexpected end of file 

(テキスト "Serverが実行されているが、" エコー「$ aから出力されます")。

なぜ構文エラーが表示されるのですか? MSDOS終了記号のファイルをチェックしました。

答えて

0

声明

#!/bin/bash 
a=$(sh /home/teamspeak3/ts3/teamspeak3- 
server_linux_amd64/ts3server_startscript.sh status) 
echo "$a" 
if [ "$a" -ne "Server is running" ]; then 
    echo "..." 
fi 
exit 0 

はまた、私は見つけることがシェバングを追加し、最後に、デバッグモード(bashの-x)でスクリプトを実行することはお勧めしたい場合は、あなたの最後の括弧の前にスペースが不足しています何が間違っているか。それらのどちらもうまく動作しない場合は、少なくとも構文エラーの場合はShell Checkを試してください。

関連する問題