bash 将命令的输出发送到变量

bash 将命令的输出发送到变量

我正在尝试一些非常简单的事情,我已经看到了一些答案,但它们不起作用

我正在尝试将 ls-al 的输出发送到一个变量

此行之前的一些代码

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

      text=$(ls-al)

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

 fi

当我尝试这个时,我收到错误./testzenity: ligne 10: ls-al : commande introuvable

这是法语,意思是未找到命令

text=我用ls-al得到了同样的结果

我甚至尝试阅读text << (ls-al),但这一次我得到了

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

我做错了什么,这是非常基本的


好的,脚本的第一部分可以正常工作,但现在我遇到了 Zenity 的问题

这是代码(好吧,只是一部分)

#!/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

我正在尝试将变量文本的内容输出到文本信息或文本框中,文本信息框打开时显示标题,但框内没有文本

答案1

这里./testzenity: ligne 10: ls-al : commande introuvable说的是。没有像 ls-la 这样的命令。它是ls -la

希望能帮助到你

答案2

尝试:

text="$(ls -la)" 

请注意包含输出的变量中的引号。

我希望这个对你有用!

相关内容