Observe que, após if
, você coloca um comando . Dependendo do status de saída desse comando, você insere o bloco then
ou o bloco else
. Observe também que [
é um comando , não apenas a sintaxe (em um prompt bash, digite help [
then help test
)
Você quer
#!/bin/bash
read -p "What is the QID? " qid
file=/home/dc368/zeroday/zerodayresearch
if grep -q "$qid" "$file"; then
echo qid exists
else
echo qid does not exist
fi
Como o grep usa expressões regulares, isso pode retornar falsos positivos. Por exemplo, se qid=.
, grep retornará "true" se houver pelo menos um caractere no arquivo. Leia man grep
para as opções extensivas para ajudar a restringir seus resultados (sugira, considere as opções -w
e -F
.
Note também que evitei usar nomes de variáveis ALLCAPS. Eles podem causar problemas se você não for cuidadoso. A melhor prática é evitar usá-las.