Alguém pode me dizer como isso pode ser alcançado? [fechadas]

-2

Solicitando um sim sem interface para o usuário, de modo a executar novamente um bloco de código. Oslets supõem que o bloco de código seja echo "Hello"

    
por Gimmeray 09.12.2015 / 17:29

3 respostas

1

Você pode tentar algo simples assim:

#!/bin/bash
while true; do
  echo "Hello world"
  read -p "Re-run this program? (y/n)" answer

  if [ "$answer" == "n" ]; then
    break
  fi
done

Isso imprimirá "Hello world" dentro de um loop e exigirá uma entrada de "n" para sair dele.

    
por Aaron 09.12.2015 / 17:46
1

Use um loop para repetir uma sequência de comandos. Use read para obter entrada do usuário:

#!/bin/bash
want_to_print=yes
while [[ $want_to_print == yes ]] ; do
    read -p 'Hello ' want_to_print
done
    
por choroba 09.12.2015 / 17:48
0

Há várias maneiras de fazer isso em vários idiomas. Como o bash já foi feito, vou lançar AWK :

$ awk 'BEGIN{ MSG="yes/no?";  while ( 1 ){ print MSG;getline line; if (line == "yes") {print "HELLOWORLD"}  else {exit}}}'               
yes/no?
yes
HELLOWORLD
yes/no?
yes
HELLOWORLD
yes/no?
no

xieerqi:
$ 
    
por Sergiy Kolodyazhnyy 10.12.2015 / 19:57