shc
shc copied to clipboard
error sintáctico cerca del elemento inesperado
normalmente funciona
#!/bin/bash while true; do read -p "Ping Yahoo? [y|n]:" yn case $yn in [Yy]* ) ping www.yahoo.com; break;; [Nn]* ) exit;; * ) echo "Choose yes or no";; esac done
/tmp# prueba Ping Yahoo? [y|n]: PING fd-fp3.wg1.b.yahoo.com (98.139.180.149) 56(84) bytes of data. 64 bytes from ir1.fp.vip.bf1.yahoo.com (98.139.180.149): icmp_seq=1 ttl=48 time=78 ms
######################################################### /tmp# shc -v -f prueba /tmp# cp prueba.x /tmp/prueba2 /tmp#chmod +x prueba2 /tmp#prueba2
Este es el error después de compilar:
prueba2: -c: línea 4: error sintáctico cerca del elemento inesperado [Yy]*' /usr/bin/prueba: -c: línea 4:
[Yy]* ) ping www.yahoo.com; break;;'
saludos
puedes probar con read -p 'Ping Yahoo? [y/n]:' yn
en lugar a read -p "Ping Yahoo? [y|n]:" yn
Hace un ratito tenía el problema y descubrí que se trataba de un echo sin cerrar con comillas en otra función del código bash.