我建了一个文本文件11,以下是该文本文件的内容。但是运行之后,却显示出错。
#!/bin/bash
ft()
{
echo "*************************"
echo "* Main Menu *"
echo "* 1,powroff *"
echo "* 2,create user *"
echo "* 3.exit *"
echo "*************************"
}
mu()
{
echo -n "Input:"
read a
case $a in
1)
shutdown -h now
;;
2)
echo -n "username"
read u
useradd $u
passwd $u
;;
3)
exit
;;
*)
echo "plase input 1/2/3"
;;
esac
}
while [`1 -lt 2`]
do
ft
mu
done
}
./11之后显示如下的内容!
./11:line 1: 1: command not found
./11:line 35: []:command not found
请问下这是函数错误吗?应该如何修改?谢谢1
yun88 于 2009-12-31 16:45:19发表:
5# shampoo
呵,是的!我会记住的!
yun88 于 2009-12-31 16:44:21发表:
4# two__fishes
嗯,不错就是while语句中的错误。原来是书写的格式不对,谢谢了!
shampoo 于 2009-12-30 16:15:36发表:
侦错是学生的工作,老师上手就是作弊哦!
two__fishes 于 2009-12-30 15:41:12发表:
1:先检查你的系统有没有bash,可以执行命令“ls -l /bin/bash”
如果没有,那么改为“#!/bin/sh”
2:你的最后一行“}”好像是多余的
3:while后面的表达式“[`1 -lt 2`]”好像有问题,如果只是要一个守候功能,改为“true”或者一个“:”或者“[ 1 = 1]”试试看。“-lt”好像是字符串的运算符
yun88 于 2009-12-27 17:27:33发表:
2# hstking
试了,还是不行!我是想让这个脚本,循环执行。所以才定义了,函数。没有定义函数之前,顺序执行是可以的!会是调用函数时,出错了还是定义时出错了!
刚接触编程,还不是很了解!
hstking 于 2009-12-26 17:04:04发表:
第35行ft后面要加上()
第一行显示找不到命令,改城#!/bin/sh试试看。