ユーザーにディレクトリ、連絡先名、連絡先番号を追加するように求めるプログラムを作成しようとしています。
ユーザーが指定したディレクトリに連絡先名が既に存在する場合、ファイル名はcontact(1).txtになります。それも存在する場合、作成される新しいファイルはcontact(2).txtなどになります。
次のコードを実行しようとすると、無限ループが発生します。バグを探してみましたが、何も見つかりませんでした。
これまでに書いたコードは次のとおりです。
#!/bin/bash
directory=
if(($# == 0))
then
echo -n "Please enter directory path:"
read directory
cd $directory
echo -n "Please enter contact name:"
read name
echo -n "Please enter contact number:"
read number
else
directory=$1
cd ${directory}
name=$2
number=$3
fi
if [ -e $name.contact ];
then
exists=1
count=1
while [ $exists==1 ];
do
name=$name\($count\)
count=$(($count+1))
if [ ! -f $name.contact ];
then
exists=0
echo $exists
fi
done
echo $number > $name.contact
else
echo $number > $name.contact
fi