Portal    Foro    Buscar    FAQ    Registrarse    Conectarse


Publicar nuevo tema  Responder al tema 
Página 2 de 2
Ir a la página Anterior  1, 2
 
Como Saber En Bash Si Un Una Variabe Contiene Un Cararcter
Autor Mensaje
Responder citando   Descargar mensaje  
Mensaje Re: Como Saber En Bash Si Un Una Variabe Contiene Un Cararcter 
 
razaAztk escribió: [Ver mensaje]
Es con doble par de corchetes:

var='acdc'
if [[ $(echo "$var" | grep x) = '' ]];  then   echo 'no está';  else echo 'sí está'; fi
 


Saludos!


no funciona
sera por que no estoy usando bash

asi que con unas pocas modificaciones
creo que ahora si funciona
 

Código: [Descargar] [Ocultar]
  1. #!/bin/sh
      
  2. var='azcdc'
      
  3. if [ -z $(echo "$var" | grep x) ];  then   echo 'no está';  else echo 'sí está'; fi
      
  4.  
  5. ./test
      
  6. no está
      
  7.  



o gracias

pd

 creo que algunos aprendimos algo nuevo
 



 
codificador - Ver perfil del usuarioEnviar mensaje privado 
Volver arribaPágina inferior
Responder citando   Descargar mensaje  
Mensaje Re: Como Saber En Bash Si Un Una Variabe Contiene Un Cararcter 
 
bueno era feliz
hasta que  unknown operand
ahora el problema son los caracteres especiales como $ []"":
cuando la varibable $var tiene caracteres especiales el script falla

me e entretenido toda la tarde buscando como hacer que no falle sin resultados
 



 
codificador - Ver perfil del usuarioEnviar mensaje privado 
Volver arribaPágina inferior
Responder citando   Descargar mensaje  
Mensaje Re: Como Saber En Bash Si Un Una Variabe Contiene Un Cararcter 
 
A mi no me marca error si la variable tiene algún caracter especial. Pero sí tengo una falla si lo que quiero identificar es un caracter especial (el parametro del grep), aunque la solución en mi caso es escaparlo con \\, ejemplo:

if [ -z $(echo "$var" | grep \\[) ];  then   echo 'no está';  else echo 'sí está'; fi
 


Tal vez en tu caso agregandole el escape a los caracteres especiales en tu variable funcione.

Saludos.
 



 
razaAztk - Ver perfil del usuarioEnviar mensaje privadoVisitar sitio web del usuarioVer la galería personal del usuario 
Volver arribaPágina inferior
Responder citando   Descargar mensaje  
Mensaje Re: Como Saber En Bash Si Un Una Variabe Contiene Un Cararcter 
 
no
la falla es en  en la variable
pero solo pasa si el resultado del if es true

Código: [Descargar] [Ocultar]
  1. #! /bin/sh
      
  2. var=' [" "] :== $"182" { '
      
  3. if [ -z $(echo "$var" <PIPE> grep {) ];  then   echo 'no está';  else echo 'sí está'; fi
      
  4.  


edit ahora si que si
el problema es que el grep me devolvia todos los caracteres
pero eso no era necesario

revisando la ayuda encuentro 2 opciones

-c      Show only count of matching lines
  -o      Show only the matching part of line

entonces  puedo usar la -c  y si el resultado e 0 es false
o usar la o y decir si el resultado es nulo es igual a true

y ahora acepta cualquier cosa de variable
 



 
última edición por codificador el Domingo, 22 Julio 2012, 05:30; editado 2 veces 
codificador - Ver perfil del usuarioEnviar mensaje privado 
Volver arribaPágina inferior
Mostrar mensajes anteriores:    
 
OcultarTemas parecidos
Tema Autor Foro Respuestas último mensaje
No hay nuevos mensajes Como Saber La Existencia De Un Archivo aristicol General 3 Viernes, 18 Junio 2010, 12:14 Ver último mensaje
AnSnarkista
No hay nuevos mensajes Como Saber Si Una URL Es Válida? v3ctor General 17 Lunes, 06 Julio 2015, 09:26 Ver último mensaje
Shell
No hay nuevos mensajes Saber Con Las Funciones Externas Del API D... vuott Aplicaciones/Fragmentos de Código 1 Viernes, 17 Agosto 2018, 10:50 Ver último mensaje
Grandamakulo
No hay nuevos mensajes Bash - Saber Si El Sistema Es Físico O Vi... tincho Shell Scripting 1 Domingo, 23 Septiembre 2018, 11:01 Ver último mensaje
shordi
 

Publicar nuevo tema  Responder al tema  Página 2 de 2
Ir a la página Anterior  1, 2

Usuarios navegando en este tema: 0 registrados, 0 ocultos y 0 invitados
Usuarios registrados conectados: Ninguno


 
Lista de permisos
No puede crear mensajes
No puede responder temas
No puede editar sus mensajes
No puede borrar sus mensajes
No puede votar en encuestas
No puede adjuntar archivos
Puede descargar archivos
No puede publicar eventos en el calendario



  

 

cron