我正在努力使我的一段代码正常工作。我有一个包含用户名的数据库,脚本会自动选择下一个可用的用户名。例如,输入的是,JoeBlogs
但JoeBlogs
已被占用,因此JoeBlogs1
被使用,然后JoeBlogs2
等等。数据库包含已使用的用户名列表,因此我试图让它在给定名称后放置下一个可用的数字。
testdb=`cat test.db`
cd "$(dirname "$0")"
ftpfullname="JoeBlogs"
for output in $testdb
do
if [ "$ftpfullname" == "$output" ]
then
ftpfullname="${ftpfullname}1"
fi
done
echo "$ftpfullname has been selected"
test.db
很简单,只是一堆名字自己存储就行了。
我明白为什么它不起作用但我就是不知道该如何去做。
答案1
accountsdb=`cat test.db | sort`
namex="0"
nameplus=0
ftpfullname="turner"
for output in $accountsdb
do
if [ "$ftpfullname" == "$output" ]
then
let "nameplus += 1"
for i in $nameplus
do
echo "$nameplus"
echo "$i"
if [ "$namex" == "1" ]
then
ftpfullname=${ftpfullname%?}
fi
namex="1"
ftpfullname="${ftpfullname}${i}"
break
done
fi
done
echo "$ftpfullname"
echo $namex
echo "$ftpfullname" >> test.db