1

このコードをコンパイルしようとしていますが、次のエラーが発生します。

Q2.sh: line 18: syntax error near unexpected token `fi'
Q2.sh: line 18: `fi'

numero15 行目で、パラメーターが 0 より大きいかどうかを確認しようとしています。

ありがとう

#!bin/bash

numero=$1

if test $# -eq 0; then
    echo "Argument Manquants"
    exit 1
fi

if ! [[ "$numero" =~ ^[0-9]+$ ]] ; then
    exec >&2; echo "Le parametre doit etre un digit";
    exit 1
fi

if [ $numero -le 0 ]
$$  echo "Le parametre doit etre plus grand que 0"  
    exit 1
fi

cat /etc/passwd grep "$numero"
4

3 に答える 3

1

thenの最後のステートメントを見逃しているようで、if単一の角括弧しか使用していません。これのためにそのブロックを置き換えてみてください:

if [[ $numero -le 0 ]]; then
    echo "Le parametre doit etre plus grand que 0"  
    exit 1
fi
于 2013-05-22T16:48:23.437 に答える
0

Windowsで編集したスクリプトをUNIXシステムにコピーしたときに、同様の問題があります。デビュー実行時に、同じエラーが発生します。

宛先 m/c のエディター内でファイルを一度編集すると、スクリプトは問題なく実行されました。

私には、文字エンコーディングの問題のようです。しかし、私の場合、それを克服するための解決策をまだ探しています。

それは少し役立つかもしれません。

于 2014-04-03T09:50:44.133 に答える