Algo parecido com isto:
act="add"
if [[ $act = "add" ]]
then
echo good
else
echo not good
fi
-eq
é para comparação de números, use =
para comparação de string
No processo de escrever um script de shell, me deparei com um problema com a seguinte declaração if / else que está em algum lugar no meio do script:
if [ $act -eq "add" ]
then
read - "add or update: " $comm
git commit -m "$comm $file"
else
git commit -m "$act $file"
fi
O erro de retorno é:
./gitup: line 13: [: add: integer expression expected
e depois prossegue com o resto do script. Como posso ter o segmento if avaliar / comparar a variável com uma entrada de string em vez de um inteiro; um erro diferente foi necessário ao usar "!=" entre algumas outras coisas que tentei.
Esse método também funcionaria. Muito semelhante à resposta do @ Guru, mas elimina a necessidade de colchetes duplos.
if [ "$act" == "add" ]
then
echo "Good!"
else
echo "Not good!"
fi