首页新闻找找看学习计划

shell问题

0
[待解决问题]
大家帮看看有什么问题?
#!/bin/sh
# This is some secure program that uses security.

VALID_PASSWORD="secret" #this is our password.

echo "Please enter the password:"
read PASSWORD

if [ "$PASSWORD" == "$VALID_PASSWORD" ]; then
    echo "You have access!"
else
    echo "ACCESS DENIED!"
fi

总提示这个 [: 13: secret: unexpected operator

yiweis的主页 yiweis | 初学一级 | 园豆:194
提问于:2012-04-30 20:42
< >
分享
所有回答(6)
0

这个可能是编码问题,Linux中的换行符和Windows的不一样。

你用编辑器检查一下,如果你是用的Vim,可以

set fileformat=unix

:wq

这样就可以了

Jerry Chou | 园豆:2628 (老鸟四级) | 2012-05-02 11:49

应该不是,因为我是在linux下直接编辑的 而且用-x没有问题。

这里好像有个字符匹配和模式匹配的问题!

支持(0) 反对(0) yiweis | 园豆:194 (初学一级) | 2012-05-02 12:06
0
if [ "$PASSWORD" == "$VALID_PASSWORD" ]; then
改成
if [ "$PASSWORD" = "$VALID_PASSWORD" ]; then
试试
David_Tang | 园豆:202 (菜鸟二级) | 2012-05-23 22:56
0

执行man test看一下条件设置的语法。

jinhuawang76 | 园豆:303 (菜鸟二级) | 2013-02-09 19:53
0

test "$str1"="$str2" 是“=”不是“==”

菜菜小三 | 园豆:204 (菜鸟二级) | 2013-06-25 09:09
0

判断字符串

test –n 字符串                                   字符串的长度非零

test –z 字符串                                    字符串的长度为零

test 字符串1=字符串2                    字符串相等

test 字符串1!=字符串2               字符串不等

吾月 | 园豆:160 (初学一级) | 2014-06-10 14:02
0

引用变量改成   ${VALID_PASSWORD}  这种形式?

Deeper Love | 园豆:171 (初学一级) | 2015-05-12 11:47
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册