Linux Execução do Bash Shell no Shell e no Bash shell script
Execução do Shell - Se você deseja usar a saída de uma execução do shell dentro de uma string, pode fazê-lo com um cifrão seguido de parênteses.
($ ())
Por exemplo, o comando whoami imprimirá seu usuário atual. Para usá-lo em uma cadeia, envolva whoami na sintaxe de execução do shell. Digito no terminal:
---
echo "Olá, $(whoami)!"
Resultado:
Olá ArceuValenti!
---
echo "Aqui é $(pwd)"
---
echo "Listando os mais novos primeiro : $(ls -t | head)"
echo -e "\nListando os mais novos primeiro :\n\n$(ls -t | head)\n"
---
Aprenda esta po**a de uma vez cac*t* do c*r*io!!!
---
Veja este caso abaixo digito no terminal:
VAR="O local é : $(pwd) - Listando... $(ls -t | head)"
---
A variável VAR que possui dois comandos de execução em si, está armazenada na seção deste terminal onde estou. Quero executar esta variável VAR! Tento:
---
echo "$(VAR)" # Parece seguro, mas... Não funciona!
echo $(VAR) # Parece inseguro e... Também não funciona!
echo $VAR # Funciona, mas me sinto jogado aos lobos.
echo ${VAR} # Funciona, mas me sinto jogado as hienas.
echo "${VAR}" # Funciona direito e me sinto seguro como um neném seio materno!
---
Agora imagine que poderia colocar dezenas de comandos e códigos negros como a noite coletados na web numa variável, criar outras mais com mais comandos dentro delas e executar tudo de uma vez só com um objetivo específico cheio de vigor e amor/ódio numa rede, num arquivo em nuvem... Enviar de alguma forma para alguma coisa/alguém... Nem pensar! Um simples link num comentário te leva a estes cógigos negativos. Tenha atenção e cuidado.
---
Continuando...
Entrada do usuário? Declaramos uma variável no último exemplo, mas também podemos fazer com que o usuário defina o valor de uma variável dinamicamente. Por exemplo, em vez de apenas fazer com que o script diga Olá, Mundo !, podemos fazer com que ele solicite o nome da pessoa que está chamando o script e, então, produza esse nome. Faremos isso usando o comando read.
---
Eu crio estas variáveis abaixo:
ddd='Quem ser você?'
eee='Arceu Valenti'
fff='Olá! Como vai'
ggg='Ora, eu sô'
hhh='Colé o pobrema?'
---
Digito no terminal:
clear ; ddd='Quem ser você?' ; eee='Arceu Valenti' ; fff='Olá! Como vai' ; ggg='Ora, eu sô' ; hhh='Colé o pobrema?' ; echo "$ddd" ; echo ; sleep 2 ; echo "$ggg $eee $hhh" ; sleep 2 ; echo ; echo "$fff seu $eee!" ; sleep 2 ; echo ; echo "Senhor $eee?" ; sleep 2 ; echo ; echo "$hhh" ; sleep 2 ; echo
---
Resultado:
~:$ clear ; ddd='Quem ser você?' ; eee='Arceu Valenti' ; fff='Olá! Como vai' ; ggg='Ora, eu sô' ; hhh='Colé o pobrema?' ; echo "$ddd" ; echo ; sleep 2 ; echo "$ggg $eee $hhh" ; sleep 2 ; echo ; echo "$fff
Quem ser você?
Ora, eu sô Arceu Valenti Colé o pobrema?
Olá! Como vai seu Arceu Valenti!
Senhor Arceu Valenti?
Colé o pobrema?
~:$
---
No script abaixo o usuário que dá o nome quando executa o script:
#!/usr/bin/env bash
#############
# qservc.sh
#############
echo 'Quem ser você?'
read quem
echo "Olá! Como vai $quem!"
---
Assim:
$ ./qservc.sh
$ Arceu
$ Olá! como vai Arceu!
---
Por isto que os nerds Linux são paranóicos com tudo. Compreendeu? Não? Nem eu!
---
Até Breve!
---