0

我正在尝试创建一个程序,要求用户添加目录、联系人姓名和联系电话。

如果联系人名称已存在于用户指定的目录中,则文件名变为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
4

1 回答 1

1

这里需要空格:

if [ "$exists" = 1 ]; then

还要注意双引号和单等号的使用。

于 2013-08-09T08:41:20.207 回答