AskOverflow.Dev

AskOverflow.Dev Logo AskOverflow.Dev Logo

AskOverflow.Dev Navigation

  • Início
  • system&network
  • Ubuntu
  • Unix
  • DBA
  • Computer
  • Coding
  • LangChain

Mobile menu

Close
  • Início
  • system&network
    • Recentes
    • Highest score
    • tags
  • Ubuntu
    • Recentes
    • Highest score
    • tags
  • Unix
    • Recentes
    • tags
  • DBA
    • Recentes
    • tags
  • Computer
    • Recentes
    • tags
  • Coding
    • Recentes
    • tags
Início / ubuntu / Perguntas / 1391923
Accepted
Joe Cola
Joe Cola
Asked: 2022-02-10 02:07:51 +0800 CST2022-02-10 02:07:51 +0800 CST 2022-02-10 02:07:51 +0800 CST

como criar entrada lida com nova linha no bash?

  • 772

Eu quero perguntar

Eu tenho um problema, como faço para obter entrada no bash para fazer novas linhas?

read -p "List Name: " list

cat <<EOF >names.txt
List Names:
$list

EOF

eu não posso fazer uma nova linha ou usar o comando \n, como adicionar um novo comando de linha?

Eu quero nomes de saída de resultado.txt como este

List Name :
    Robert
    James
    Samuel
command-line
  • 2 2 respostas
  • 951 Views

2 respostas

  • Voted
  1. Best Answer
    pLumo
    2022-02-11T07:02:41+08:002022-02-11T07:02:41+08:00

    Se você quiser uma lista com um item por linha, você pode usar readarray:

    # Read list
    echo "Enter one name per line, finish with Ctrl-D:"
    readarray -t list
    
    # Use list as normal array
    echo "Name List:"
    printf '%s\n' "${list[@]}"
    

    Agora você pode usar listcomo array normal, por exemplo ${list[1]}.

    • 2
  2. karel
    2022-02-11T06:46:58+08:002022-02-11T06:46:58+08:00

    Por padrão, o bash usa um caractere de espaço como delimitador para separar palavras. Este script de shell usa um caractere de espaço como delimitador para separar três nomes que são inseridos pelo usuário. Cole o script de shell a seguir em um arquivo de texto chamado input-names.sh, clique com o botão direito do mouse em input-names.sh, selecione Propriedades -> guia Permissões e coloque uma marca de seleção à esquerda de Permitir execução do arquivo como um programa .

    #!/bin/bash
    
    # Read multiple inputs
    echo "Type three names separated by space characters."
    read name1 name2 name3
    echo "List name :"
    echo "    $name1"
    echo "    $name2"
    echo "    $name3"
    

    A saída a seguir aparecerá após a execução do script acima.

    :~$ ./input-names.sh
    Type three names separated by space characters.
    Robert James Samuel
    List name :
        Robert
        James 
        Samuel 
    
    • 1

relate perguntas

Sidebar

Stats

  • Perguntas 205573
  • respostas 270741
  • best respostas 135370
  • utilizador 68524
  • Highest score
  • respostas
  • Marko Smith

    Existe um comando para listar todos os usuários? Também para adicionar, excluir, modificar usuários, no terminal?

    • 9 respostas
  • Marko Smith

    Como excluir um diretório não vazio no Terminal?

    • 4 respostas
  • Marko Smith

    Como descompactar um arquivo zip do Terminal?

    • 9 respostas
  • Marko Smith

    Como instalo um arquivo .deb por meio da linha de comando?

    • 11 respostas
  • Marko Smith

    Como instalo um arquivo .tar.gz (ou .tar.bz2)?

    • 14 respostas
  • Marko Smith

    Como listar todos os pacotes instalados

    • 24 respostas
  • Martin Hope
    Flimm Como posso usar o docker sem sudo? 2014-06-07 00:17:43 +0800 CST
  • Martin Hope
    led-Zepp Como faço para salvar a saída do terminal em um arquivo? 2014-02-15 11:49:07 +0800 CST
  • Martin Hope
    ubuntu-nerd Como descompactar um arquivo zip do Terminal? 2011-12-11 20:37:54 +0800 CST
  • Martin Hope
    TheXed Como instalo um arquivo .deb por meio da linha de comando? 2011-05-07 09:40:28 +0800 CST
  • Martin Hope
    Ivan Como listar todos os pacotes instalados 2010-12-17 18:08:49 +0800 CST
  • Martin Hope
    David Barry Como determino o tamanho total de um diretório (pasta) na linha de comando? 2010-08-06 10:20:23 +0800 CST
  • Martin Hope
    jfoucher "Os seguintes pacotes foram retidos:" Por que e como resolvo isso? 2010-08-01 13:59:22 +0800 CST
  • Martin Hope
    David Ashford Como os PPAs podem ser removidos? 2010-07-30 01:09:42 +0800 CST

Hot tag

10.10 10.04 gnome networking server command-line package-management software-recommendation sound xorg

Explore

  • Início
  • Perguntas
    • Recentes
    • Highest score
  • tag
  • help

Footer

AskOverflow.Dev

About Us

  • About Us
  • Contact Us

Legal Stuff

  • Privacy Policy

Language

  • Pt
  • Server
  • Unix

© 2023 AskOverflow.DEV All Rights Reserve