https://foro.gambas-es.org/viewtopic.php?f=6&t=6358
-----------------------------------
Shell
Miercoles, 10 May 2017, 19:33

Asignar La Salida De Un Comando A Una Variable
-----------------------------------
Buenas!.

Siguiendo con el problema que me encontré con los ejecutables de Gambas por el tema de los permisos.
Decidí encontrar cuales tienen permiso de ejecutable y cuales eran datos.

Bien, la forma en como se asigna la salida de un comando en Shell a una variable es:

[quote]
variable=$(comando)
[/quote]

En el caso de este script no era necesario la creación de otra variable.
Decidí concatenar. Al final lo hice de esta forma:

[code linenumbers=false syntax=bash]
for valor in 755 644;
do
	if [ $valor -eq 755 ]; then
		tipo="ejecutables"
	elif [ $valor -eq 644 ]; then
		tipo="datos"
	fi
	echo "El número de $tipo es: "$(find -name '*.gambas' -type f -perm $valor | wc -l)
done
[/code]

La salida fue:

[quote]
El número de ejecutables es: 32
El número de datos es: 57
[/quote]

Mi duda es. ¿ Cómo es que no puedo en la opción -perm usar como argumento las llaves ?. Ejemplo

[quote]
-perm {755, 644}
[/quote]

¿ Es mejorable el script ?

Saludos


-----------------------------------
tincho
Jueves, 11 May 2017, 14:04

Re: Asignar La Salida De Un Comando A Una Variable
-----------------------------------
¿y si probas así?
find -name '*.gambas' -type f -perm 755 -perm 644

Saludos.


-----------------------------------
Shell
Jueves, 11 May 2017, 20:56

Re: Asignar La Salida De Un Comando A Una Variable
-----------------------------------
Hola Tincho.

Me temo que solo vale una vez con la opción -perm. :-)
¿ Probaste eso con otros comandos ?.  Es raro.

También hice un pequeño script en Gambas que hace la misma función con un código mayor claro.
Lo cierto es que no sabía como plantear el titulo del mensaje.  :roll: 

Saludos


