红联Linux门户
Linux帮助

编写shell脚本,请问错在哪?

发布时间:2009-12-26 16:16:31来源:红联作者:yun88
我建了一个文本文件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
文章评论

共有 6 条评论

  1. yun88 于 2009-12-31 16:45:19发表:

    5# shampoo
    呵,是的!我会记住的!

  2. yun88 于 2009-12-31 16:44:21发表:

    4# two__fishes
    嗯,不错就是while语句中的错误。原来是书写的格式不对,谢谢了!

  3. shampoo 于 2009-12-30 16:15:36发表:

    侦错是学生的工作,老师上手就是作弊哦!

  4. 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”好像是字符串的运算符

  5. yun88 于 2009-12-27 17:27:33发表:

    2# hstking
    试了,还是不行!我是想让这个脚本,循环执行。所以才定义了,函数。没有定义函数之前,顺序执行是可以的!会是调用函数时,出错了还是定义时出错了!
    刚接触编程,还不是很了解!

  6. hstking 于 2009-12-26 17:04:04发表:

    第35行ft后面要加上()
    第一行显示找不到命令,改城#!/bin/sh试试看。