0

私はスクリプトを持っています:

#!/bin/sh
PSQLPATH=$1
USER=$2
if [ -z ${PSQLPATH} ]; then
   echo "incorrect path param"
   echo "Usage: $0 psqlpath username"
   exit 1
fi
if [ -z ${USER} ]; then
   echo "incorrect username param"
   echo "Usage: $0 psqlpath username"
   exit 1
fi
${PSQLPATH}/createdb -h localhost -U ${USER} highway2
${PSQLPATH}/psql -f createDatatable.sql -h localhost -d highway2 -U ${USER}
${PSQLPATH}/psql -f insertStatements.sql -h localhost -d highway2 -U ${USER}
echo "execute passed"
exit 0

./script.sh のように実行しようとすると、エラー行 19: 予期しないファイルの終わりが発生しました。私が間違っていることは何ですか?

4

1 に答える 1

2

行末を確認してください。引数を指定せずに (Cygwin で) スクリプトを実行すると、Windows スタイルの行末 ( \r\n) がある場合にエラーが発生します。Unix スタイルの行末を使用すると、\rs を削除することで、スクリプトが実行され、正しいパラメーターが指定されていないというエラーが表示されます。

于 2013-02-01T09:44:07.397 に答える