-1

かなり長い間、私はこの小さなコード セグメントに苦労してきました。

#!/bin/bash

testFunction() { 

        if [ -d "/home/$USER/.skandPATH/" ] ; then 
                #Exists. Do nothing. 
        else 
                mkdir /home/$USER/.skandPATH/   #Does not exist. Creates directory 
                addedPathDir=1 
        fi
} 

testFunction 

実行するたびに、次のメッセージが表示されます。

./functionInScript.sh: line 7: syntax error near unexpected token `else'
./functionInScript.sh: line 7: `else '

数十の「予期しないトークン bash の近くの構文エラー」を検索し、数十の提案を試みました。

ファイルに対して dos2unix を実行しました (Mint を使用していますが)。「.skandPATH」のドットをエスケープしましたが、違いはないようです。すべての空白文字とタブ文字を削除しようとしました。問題を特定するために、行をコメントアウトしてスクリプトを実行しましたが、役に立ちませんでした。ここで何が問題なのかを見つけようとしています。

あなたが私を助けることができれば...私は非常に感謝しています.

4

2 に答える 2

4

ブロックには少なくとも 1 つのコマンドが必要です。試してみてください:

于 2013-06-26T00:46:59.277 に答える