Pasar variable bash a parametro archivo C
Publicado por sont (5 intervenciones) el 12/02/2017 01:37:32
Hola a todos.
La pregunta que hago, la verdad que es un poco liada.
Tengo un archivo en bash script donde en una línea llamo a un archivo C.
El problema es que le paso un parámetro al archivo C que es una variable bash (string).
El parámetro de C tiene que recoger todos los caracteres incluso si delante lleva un espacio.
Pongo de ejemplo un código de los tantos que he intentado:
Ademas de no recoger el primer carácter (espacio) tampoco recoge la segunda palabra, porque el archivo C espera un parámetro.
He intentado de varias formas:
asi:
etc
También decir que he conseguido pasar la variable correcta con sus comillas y me interpreta todo, comillas incluidas.
Saludos
La pregunta que hago, la verdad que es un poco liada.
Tengo un archivo en bash script donde en una línea llamo a un archivo C.
El problema es que le paso un parámetro al archivo C que es una variable bash (string).
El parámetro de C tiene que recoger todos los caracteres incluso si delante lleva un espacio.
Pongo de ejemplo un código de los tantos que he intentado:
1
2
3
4
5
#!/bin/bash
var="\" uno dos\"" #lleva un espacio delante
printf "%s" "$var" #imprime todo bien con su espacio
sha256=$(printf "%s %s" "/home/santi/prueba/sha256.out" "$var") #aqui pasa la variable bash al parámetro de C
$(printf "%s" "$sha256") #no me sale el resultado esperado
Ademas de no recoger el primer carácter (espacio) tampoco recoge la segunda palabra, porque el archivo C espera un parámetro.
He intentado de varias formas:
asi:
1
sha256=$(printf "%s \"%s\"" "/home/santi/prueba/sha256.out" "$var")
También decir que he conseguido pasar la variable correcta con sus comillas y me interpreta todo, comillas incluidas.
Saludos
Valora esta pregunta
0