sociales redes mediatica informacion bash jar find

bash - redes - informacion mediatica



Error inesperado del operador (4)

Deberías cambiar eso a:

if [ $? -eq 0 ]; then ...

-eq hace una comparación numérica.

También puede aprovechar el hecho de que en shell un valor de retorno de 0 se considera éxito y escribir su código de esta manera:

if jar tvf "$i" | grep "$LOOK_FOR"; then ...

Esta pregunta ya tiene una respuesta aquí:

¿Qué esta mal en mi codigo?

#!/bin/sh LOOK_FOR="$1" for i in `find $2 -name "*jar"`; do echo "Looking in $i ..." #jar tvf $i | grep $LOOK_FOR > /dev/null jar tvf "$i" | grep "$LOOK_FOR" if [ $? == 0 ] ; then echo "==> Found /"$LOOK_FOR/" in $i" fi done #line 13

Salida

wk@wk-laptop:$ sh lookjar.sh org/apache/axis/message/addressing/EndpointReference /media/0C06E20B06E1F61C/uengine/uengine Looking in /media/0C06E20B06E1F61C/uengine/uengine/defaultcompany/build/uengine_settings.jar ... [: 13: 1: unexpected operator Looking in /media/0C06E20B06E1F61C/uengine/uengine/defaultcompany/WebContent/uengine-web/lib/FCKeditor/WEB-INF/lib/commons-fileupload.jar ... [: 13: 1: unexpected operator Looking in /media/0C06E20B06E1F61C/uengine/uengine/defaultcompany/WebContent/uengine-web/lib/FCKeditor/WEB-INF/lib/FCKeditor-2.3.jar ... [: 13: 1: unexpected operator Looking in /media/0C06E20B06E1F61C/uengine/uengine/defaultcompany/WebContent/uengine-web/processmanager/signedmetaworks.jar ... [: 13: 1: unexpected operator Looking in /media/0C06E20B06E1F61C/uengine/uengine/hsqldb/lib/hsqldb.jar ... [: 13: 1: unexpected operator Looking in /media/0C06E20B06E1F61C/uengine/uengine/hsqldb/lib/servlet.jar ... [: 13: 1: unexpected operator Looking in /media/0C06E20B06E1F61C/uengine/uengine/src/lib/commons-discovery.jar ... [: 13: 1: unexpected operator Looking in /media/0C06E20B06E1F61C/uengine/uengine/src/lib/google.jar ... [: 13: 1: unexpected operator Looking in /media/0C06E20B06E1F61C/uengine/uengine/src/lib/jxl.jar ...


Necesita usar = lugar de == en el [ $? == 0 ] [ $? == 0 ] línea.


Tratar:

if [[ $? == 0 ]]; then echo "==> Found /"$LOOK_FOR/" in $i" fi


#!/bin/sh LOOK_FOR="$1" find $2 -name "*jar"`| while read -r file echo "Looking in $file ..." jar tvf "$file" | grep "$LOOK_FOR" if [ $? -eq 0 ] ; then echo "==> Found /"$LOOK_FOR/" in $file" fi done