Os scripts do BigBashView utilizam a extensão **.sh.htm**. Essa extensão indica que o arquivo contém tanto código Bash quanto conteúdo HTML. O Bash é usado para gerar o conteúdo dinâmico, enquanto o HTML, CSS e JavaScript são usados para criar a interface gráfica e interativa do script.
Ao criar um novo script do BigBashView, certifique-se de usar a extensão **.sh.htm**. Lembre-se também de incluir a shebang (**#!/bin/bash**) no início do arquivo, indicando que se trata de um script em Bash.
A interação entre o Bash e o HTML ocorre principalmente através do comando **echo**. O comando **echo** é usado para imprimir conteúdo HTML dentro do script em Bash. O conteúdo gerado é renderizado pelo navegador webengine embutido do BigBashView.
Por exemplo, para criar um título e um parágrafo em HTML, você pode usar o seguinte código:
echo "<h1>Título</h1>"
echo "<p>Este é um exemplo de parágrafo.</p>"
Além do conteúdo estático, você também pode usar variáveis e expressões do Bash para gerar conteúdo dinâmico. Por exemplo, para imprimir a data atual no formato "dd/mm/yyyy", você pode usar:
echo "<p>Data atual: $(date +'%d/%m/%Y')</p>"
O BigBashView permite a utilização de formulários HTML para coletar dados do usuário e enviar esses dados para o Bash. Quando um formulário é enviado, os dados são convertidos em variáveis do Bash com o mesmo nome dos campos do formulário.
Por exemplo, considere o seguinte formulário HTML:
<form method="post" action="process_form.run">
<label for="name">Nome:</label>
<input type="text" id="name" name="name">
<button type="submit">Enviar</button>
</form>
Ao enviar o formulário, o valor do campo "name" será convertido em uma variável do Bash chamada **$name**. No script **process_form.run**, você pode acessar essa variável para processar os dados do formulário. Por exemplo:
#!/bin/bash
echo "Olá, $name! Seu nome foi enviado com sucesso."
Isso demonstra como usar formulários e variáveis no BigBashView para criar scripts interativos que aceitam entrada do usuário.
**index.sh.htm** com o seguinte conteúdo:#!/bin/bash
echo "<html>"
echo "<head><title>BigBashView Exemplo</title></head>"
echo "<body>"
echo "<h1>Bem-vindo ao BigBashView!</h1>"
echo "<form method='get' action='processar.sh.htm'>"
echo "Nome: <input type='text' name='nome' /><br/>"
echo "Idade: <input type='text' name='idade' /><br/>"
echo "<input type='submit' value='Enviar' />"
echo "</form>"
echo "</body>"
echo "</html>"
2. Crie outro arquivo chamado **processar.sh.htm**:
#!/bin/bash
echo "<html>"
echo "<head><title>BigBashView Processar</title></head>"
echo "<body>"
echo "<h1>Seus Dados</h1>"
echo "Nome: $nome<br/>"
echo "Idade: $idade<br/>"
echo "<a href='index.sh.htm'>Voltar</a>"
echo "</body>"
echo "</html>"
3. Para executar o script no BigBashView, utilize o comando:
bigbashview index.sh.htm
Neste exemplo, criamos uma página HTML simples com um formulário que coleta informações do usuário, como nome e idade. Quando o usuário clica no botão "Enviar", as informações são enviadas usando o método GET e processadas pelo script **processar.sh.htm**. As variáveis **$nome** e **$idade** são preenchidas automaticamente pelo BigBashView com os dados enviados pelo formulário.
No arquivo **processar.sh.htm**, utilizamos essas variáveis para exibir as informações coletadas. Além disso, adicionamos um link para voltar à página inicial.
O formato **.run** é útil para executar ações sem atualizar a página atual. Por exemplo, se você quiser criar um link que abre uma nova janela do navegador sem recarregar a página atual, você pode criar um arquivo chamado **abrir_link.run** com o seguinte conteúdo:
#!/bin/bash
xdg-open 'https://www.example.com'
E no seu arquivo HTML, adicione um link para **abrir_link.run**:
<a href='abrir_link.run'>Abrir exemplo.com em uma nova janela</a>
Quando o usuário clica no link, o script **.run** é executado e abre a URL especificada em uma nova janela do navegador sem atualizar a página atual no BigBashView.
Espero que isso ajude a esclarecer o uso do BigBashView e a demonstrar como ele pode ser usado para criar aplicações web simples e interativas usando apenas scripts Bash e HTML.