新手求助:SHELL编程提示“语法错误,期待操作数”
发表于 : 2011-10-17 1:21
各位大大,我刚开始做第一个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]:找不到命令”,请帮忙再看下,谢谢!
题目叫做时间密码的验证,源代码如下:
#!/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]:找不到命令”,请帮忙再看下,谢谢!