Hola Ardogan
Tratando de entender porqué funciono la instalación gracias a tu ayuda, quiero entender el porqué!
1. Que significa el "./"nombre_de_instalador""
Es la forma de ejecutar un archivo con el atributo +x en GNU-Linux. Ya me parece natural hacerlo así y nunca me pregunté que significa
.
En algunos lados dicen que es por una cuestión de seguridad. Cuando se tipea el nombre de un archivo el sistema lo busca en el PATH, que incluye ubicaciones tales como /usr/bin, /usr/lib, etc (echo $PATH en línea de comandos lo muestra), y si no lo encuentra.
Supongamos que en la carpeta local - donde estamos parados - tenemos un ejecutable llamado "ls" (el mismo comando que muestra los archivos de la carpeta local), y que tiene contenido malicioso. Si no hay forma de discriminar cuando nos referimos al archivo local y cuando a lo presente en PATH, entonces es un riesgo.
Con ./ estamos diciéndole al sistema que busque el archivo en la carpeta actual y no en el PATH, sin ./ le decimos que busque solo en PATH.
Acabo de intentar de duplicar tus instrucciones para aplicarlo a la instalación de la IDE de mis placas LPCXpresso y funcionó!
En especial eso de "./" me intriga. Yo había tratado de hacer las instalaciones ejecutando el comando:
"sh installer.sh" y no resultó, ni con la IDE de Arduino", ni con la de "LPCXpresso! Pero con el commando "./Installer" funcionó. Vale mencionar que ejecuté esa instrucción, siempre estando en la misma carpeta como el archivo instalador". Un pequeño detalle fue diferente con la IDE para las LPCXpresso. Allí tuve que ejecutar la instrucción "chmod +x Installer para permitir el archivo ser ejecutado!
sh en Ubuntu es un acceso directo al programa de shell.
Si haces un ls -l /bin/sh va a mostrar que es un acceso directo al programa dash, que es el programa de shell de Ubuntu (se puede conocer ubicación del programa ejecutando el comando whereis nombrePrograma).
Hay otros programas de shell, como bash, csh, ksh y tantos otros... dash es uno más, que es el que se usa por defecto en la distribución Ubuntu (quizás en RedHat usan otro, no lo sé).
sh entonces se refiere a /bin/sh que es un acceso directo a dash.
Un problema que puede estar pasando es que con ./ el sistema elige el shell, y con sh nombrePrograma le estás especificando que shell usar.
¿Puede ser que el archivo .sh esté escrito usando una sintaxis de script distinta a la soportada por dash? (como querer abrir un archivo de texto con el editor de imagenes).
No estoy tan seguro. ¿Tal vez hayas cambiado el shell por default de Ubuntu de dash a otro shell?
Si abro el archivo install.sh de Arduino veo la primera línea:
#!/bin/sh
Eso indica al sistema operativo cual programa de shell usar, ¿supongo que apunta a dash como dije antes?.
Si en tu máquina al hacer
ls -l /bin/sh
dice bash en vez de dash por ejemplo, ahí está el problema, el lenguaje de script de bash no es compatible con el de dash.
Realmente me estoy, finalmente, aproximándome a hacer los experimentos! Lo de las placas RaspBerry Pi y el taller electrónico está realizado, lo de la placa Arduino Uno finalmente funciona gracias a Ardogan y solo me falta verificar con el ejemplo "blink" que soy capaz de programar mi placa LPCXpresso1769!
Esoooo!!!!!
siempre digo que lo primero que hay que hacer en una placa nueva es tratar de hacer parpadear un led, y solo con eso ya verificamos que nos funciona bien el IDE, el compilador, el programador...
Mucha gente se enamora de los simuladores y se olvida de que están programando para el simulador y no para la placa y el micro real.
Saludos.