您好我有以下代码:
#!/bin/bash
echo Content-Type: text/html
echo -e "
<!DOCTYPE html>
<html>
<head>
<title> Pagina Web </title>
</head>
<body>
"
echo -e "<h3>AUTH</h3>"
echo -e "<h1>Buscador</h1>
<form action='auth.sh' method='POST' enctype='text/plain'>
Buscar: <input type='text' name='busqueda'>
<input type='submit' value='BUSCAR'>
</form>
<br><br><br><br>
"
read busqueda
correcte=`echo $busqueda|awk -F'=' '{printf $2}'|sed s/+/\ /g`
if [ -z "$correcte" ]; then
cat /var/log/auth.log | sed ':a;N;$!ba;s/\n/<br>/g'
else
#The 'grep "$correcte" is not working properly'
cat /var/log/auth.log | grep "$correcte" | tr -d " " | sed ':a;N;$!ba;s/\n/<br>/g'
fi
echo -e "
</body>
</html>
Everithing似乎工作正常,但是当我执行搜索时,它在第二个选项中正确输入,但它不起作用。我调试了,从帖子中读取的单词在var $ correcte下正确到达,但是当grep执行时,没有显示任何信息。我从表单中读到的单词显然出现在文件auth.log中(有些单词就像“无效”)。
当我硬编码...“grep invalid”时,它工作正常,但是当我在代码中执行时它没有。
任何人都知道为什么grep不能正常工作?
谢谢!