各位大大,我刚开始做第一个SHELL编程实验,课本提供了源代码但是貌似有错误,请帮忙看一下,谢谢
题目叫做时间密码的验证,源代码如下:
#!/bin/bash
#Program:
#User can test the timepassword.timepassword
#History:
#2010/4/30 First release
PATH=/bin:/sbin:/usr/bin:/usr/sbin:/usr/sbin:/usr/local/bin:/usr/local/sbin:~/bin
export PATH
Date='date+%Y%m%d%H%M'
Time=$(($(($Date/100*100))+$(($(($Date%100+15))%60))))
read -p "Please input the password: " password
while["$password"!="$Time"]&&["$password"!="q"]
do
read -p "Failed,please try again and you can input 'q'to stop this test: "
password
done
if["$password"=="$Time"];then
echo "Success!"
exit 0
fi
但是在运行的时候在第9行会卡住,提示bash: date+%Y%m%d%H%M/100*100: 语法错误: 期待操作数 (错误符号是 "%Y%m%d%H%M/100*100")
折腾了好久没有解决,请问是哪里有错误呢?
还有这句:Time=$(($(($Date/100*100))+$(($(($Date%100+15))%60))))那个Date先乘100再除100不是没有意义么?求解
新的问题
谢谢大家,第一个DATE的问题解决了,现在我执行到done那里又会出错,之前提示输入密码的时候我输入了当前时间,现在运行到done提示
“[201110171217!=201110171231]:找不到命令”,请帮忙再看下,谢谢!
新手求助:SHELL编程提示“语法错误,期待操作数”
-
- 帖子: 2
- 注册时间: 2011-10-17 1:13
新手求助:SHELL编程提示“语法错误,期待操作数”
上次由 googlenik 在 2011-10-17 12:21,总共编辑 1 次。
- 枫叶饭团
- 帖子: 14683
- 注册时间: 2010-06-16 1:05
- 系统: Mac OS X
- 来自: Tencent
- 联系:
Re: 新手求助:SHELL编程提示“语法错误,期待操作数”
手机党压力很大,不过Date是date加....? 是不是要加上expr运算,分号换成反引号 $date
-
- 帖子: 5
- 注册时间: 2009-08-30 21:42
Re: 新手求助:SHELL编程提示“语法错误,期待操作数”
Date='date+%Y%m%d%H%M'这里
应该不是引号是1左边的那个和~一起的。
应该不是引号是1左边的那个和~一起的。
-
- 帖子: 5
- 注册时间: 2009-08-30 21:42
Re: 新手求助:SHELL编程提示“语法错误,期待操作数”
还有date+%Y%m%d%H%M date和+中间有空格。
while[],if[]这里也有空格。仔细对对书。
while[],if[]这里也有空格。仔细对对书。
- lilydjwg
- 论坛版主
- 帖子: 4258
- 注册时间: 2009-04-11 23:46
- 系统: Arch Linux
- 联系:
Re: 新手求助:SHELL编程提示“语法错误,期待操作数”
空格!!!googlenik 写了: 新的问题
谢谢大家,第一个DATE的问题解决了,现在我执行到done那里又会出错,之前提示输入密码的时候我输入了当前时间,现在运行到done提示
“[201110171217!=201110171231]:找不到命令”,请帮忙再看下,谢谢!
-
- 帖子: 6548
- 注册时间: 2008-10-31 22:12
- 系统: 践兔
- 联系:
Re: 新手求助:SHELL编程提示“语法错误,期待操作数”
Date='date+%Y%m%d%H%M'
这一行估计应该是
Date=`date +%Y%m%d%H%M`
这一行估计应该是
Date=`date +%Y%m%d%H%M`
代码: 全选
] ls -ld //