0

bash で「if」ステートメントを使用する最初のスクリプトを作成しようとしています。ファイルの複数のコピーを作成するために作業した2つのスクリプトを組み合わせます.1つは名前が数字で追加されたもので、もう1つはAZを使用しています.

多くの変更を試みましたが、エラーメッセージなしでこれを機能させることは絶対にできません

./cpmany.sh: 18 行目: 予期しないトークンelif' ./cpmany.sh: line 18:elif 付近の構文エラー [ $alpha="A" ]; それから'

これが私の元の、機能しないコードです。

#!/bin/bash
set -x
echo "input file source"
read INPUT
echo  "Alphabetical or Numerical"
read alpha
if [ $alpha=="N" ]; then
echo "start of range"
read x
echo "end of range"
read y
    for ((i=x; i<=y; i++)); do cp "$INPUT" "$INPUT$i";
elif [ $alpha=="A" ]; then
    for i in {a..z}
    do
    echo "$i"
    cp "$INPUT" "$INPUT$i";
else
    echo "error in selection";
fi
exit 0

if [ $alpha = "N" ] に「done」とスペースを追加した現在のコードを次に示します。

#!/bin/bash
echo "input file source"
read INPUT
echo  "Alphabetical or Numerical"
read alpha


if [ $alpha = "N" ]; then
echo "start of range"
read x
echo "end of range"
read y

    for ((i=x; i<=y; i++)); do cp "$INPUT" "$INPUT$i";
done
elif [ $alpha = "A" ]; then
    for i in {a..z};
    do
    echo "$i"
    cp "$INPUT" "$INPUT$i"; done
else
    echo "error in selection";
fi
done
exit 0
4

1 に答える 1

3

forでループを閉じるのを忘れましたdone

于 2013-11-01T18:51:52.017 に答える