Estou tentando passar uma variável de string dentro de um script bash, mas em um comentário no script.
Na linha de comando, pensei que poderia passar assim:
./script.sh specific_string_variable
E então, dentro do meu script bash, a linha de comentários seria atualizada assim:
#heres the comment line with this variable inserted: specific_string_variable
Isso é possível?
Desculpas se isso for óbvio, sou iniciante. Obrigado :)
Responder1
Você só precisa adicionar as seguintes linhas dentro do seu script:
echo "#heres the comment line with this variable inserted:" $1 >> script.sh
Explicação:
$1
é sua variável de string; se você quiser usar uma frase, há duas maneiras:- usando barra invertida
\
comotest\ magic\ beautiful
(\
digamoso espaço é um personagem) - usando aspas duplas
"
como"test magic beautiful"
(dentro""
, tudo é considerado como umpersonagem)
- usando barra invertida
>>
adicione o texto no final do seu script, enquanto um simples>
apagaria seu script e escreveria o texto- o comentário deve estar entre aspas duplas
"
Aqui está o script antes e depois da execução:
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
e com string de 2 palavras:
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