Estoy intentando pasar una variable de cadena dentro de un script bash, pero en un comentario en el script.
En la línea de comando, pensé que podría pasarlo así:
./script.sh specific_string_variable
Y luego, dentro de mi script bash, la línea de comentarios se actualizaría así:
#heres the comment line with this variable inserted: specific_string_variable
es posible?
Disculpas si esto es obvio, soy un principiante. Gracias :)
Respuesta1
Sólo tienes que agregar las siguientes líneas dentro de tu script:
echo "#heres the comment line with this variable inserted:" $1 >> script.sh
Explicación :
$1
es su variable de cadena; Si quieres usar una oración, hay 2 maneras:- usando barra invertida
\
comotest\ magic\ beautiful
(el\
decirel espacio es un personaje) - usando comillas dobles
"
como"test magic beautiful"
(dentro""
, todo se considera como unpersonaje)
- usando barra invertida
>>
agregue el texto al final de su guión, mientras que un simple>
borraría su guión y escribiría el texto- el comentario debe estar entre comillas dobles
"
Aquí está el script antes y después de la ejecución:
damadam@Pc:~$ cat script.sh
echo "#heres the comment line with this variable inserted:" $1 >> script.sh
damadam@Pc:~$ ./script.sh test
damadam@Pc:~$ cat script.sh
echo "#heres the comment line with this variable inserted:" $1 >> script.sh
#heres the comment line with this variable inserted: test
y con una cadena de 2 palabras:
damadam@Pc:~$ ./script.sh test\ magic
damadam@Pc:~$ cat script.sh
echo "#heres the comment line with this variable inserted:" $1 >> script.sh
#heres the comment line with this variable inserted: test
#heres the comment line with this variable inserted: test magic