bash envia saída do comando para a variável

0

Estou tentando algo muito fácil, já vi alguma resposta, mas eles não funcionam

Estou tentando enviar a saída de ls-al para uma variável

algum código antes desta linha

if [[ $ans == "L"* ]];then

      text=$(ls-al)

      zenity --info --title="contenu du repertoire" --text=$text

 fi

quando eu tento isso, recebo o erro ./testzenity: ligne 10: ls-al : commande introuvable

isto é em francês e significa que o comando não foi encontrado

Eu tenho o mesmo resultado com text= ls-al ''

Eu até tentei ler text << (ls-al) , mas é hora de eu chegar

./testzenity: ligne 12: erreur de syntaxe près du symbole inattendu « ( »
which means syntax error near symbol "("

O que estou fazendo errado, isso é muito básico

Ok, o primeiro par do script funciona, agora eu tenho um problema com o Zenity

aqui está o código (bem, parte dele)

#!/bin/bash
ans=$(zenity --list --text "Faites votre choix " --title "Menu utilitaire" --radiolist \

 --column "" --column "Choix" \

   TRUE   "Lister le contenu du repertoire" \

FALSE  "Editer un fichier" \

   FALSE  "Crer un nouvel usager" \

   FALSE  "Quitter" )

   if [[ $ans == "L"* ]];then

      text=$(ls -al)

  zenity --text-info --title="contenu du repertoire" --text=$(text)
   fi

Estou tentando exibir o conteúdo do texto da variável em uma caixa de texto ou textinfo, a caixa de informações de texto aberta com o título, mas sem texto dentro da caixa

    
por Yves Laurin 25.05.2016 / 03:17

2 respostas

2

Aqui ./testzenity: ligne 10: ls-al : commande introuvable está dizendo. Nenhum comando como ls-la. é ls -la .

Espero que ajude

    
por rɑːdʒɑ 25.05.2016 / 03:23
0

Tente:

text="$(ls -la)" 

Observe as aspas na variável que contém a saída.

Espero que funcione para você!

    
por Claudio Lopez 25.05.2016 / 03:58