Bash script to execute command with file from directory and condition





.everyoneloves__top-leaderboard:empty,.everyoneloves__mid-leaderboard:empty,.everyoneloves__bot-mid-leaderboard:empty{ margin-bottom:0;
}







1















I'd like to sort my sort my figlet fonts with testing, so I've decided to make a script, which will demonstrate figlet font one by one and will delete fonts I don't like.
I've tried to find the solution for correct if-then condition inside while loop, but couldn't find one.
Here's the script itself, but for now it just provides examples of all the fonts in the single scroll:



#!/bin/bash
#script to test figlet fonts
rm /usr/share/figlet/list.txt #delete old list
ls /usr/share/figlet > /usr/share/figlet/list.txt #create new list
filename='/usr/share/figlet/list.txt'
n=1
while read line; do
figlet -f $line Figlet
echo -e "Press 0 if you don't like it, font will be deleted"
read decision
if [ "$decision" = "0" ]; then
rm "/usr/share/figlet/$line"
echo -e "Font deleted"
else
echo -e "Font saved"
fi
n=$((n+1))
done < $filename









share|improve this question









New contributor




FCW is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
Check out our Code of Conduct.



























    1















    I'd like to sort my sort my figlet fonts with testing, so I've decided to make a script, which will demonstrate figlet font one by one and will delete fonts I don't like.
    I've tried to find the solution for correct if-then condition inside while loop, but couldn't find one.
    Here's the script itself, but for now it just provides examples of all the fonts in the single scroll:



    #!/bin/bash
    #script to test figlet fonts
    rm /usr/share/figlet/list.txt #delete old list
    ls /usr/share/figlet > /usr/share/figlet/list.txt #create new list
    filename='/usr/share/figlet/list.txt'
    n=1
    while read line; do
    figlet -f $line Figlet
    echo -e "Press 0 if you don't like it, font will be deleted"
    read decision
    if [ "$decision" = "0" ]; then
    rm "/usr/share/figlet/$line"
    echo -e "Font deleted"
    else
    echo -e "Font saved"
    fi
    n=$((n+1))
    done < $filename









    share|improve this question









    New contributor




    FCW is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
    Check out our Code of Conduct.























      1












      1








      1








      I'd like to sort my sort my figlet fonts with testing, so I've decided to make a script, which will demonstrate figlet font one by one and will delete fonts I don't like.
      I've tried to find the solution for correct if-then condition inside while loop, but couldn't find one.
      Here's the script itself, but for now it just provides examples of all the fonts in the single scroll:



      #!/bin/bash
      #script to test figlet fonts
      rm /usr/share/figlet/list.txt #delete old list
      ls /usr/share/figlet > /usr/share/figlet/list.txt #create new list
      filename='/usr/share/figlet/list.txt'
      n=1
      while read line; do
      figlet -f $line Figlet
      echo -e "Press 0 if you don't like it, font will be deleted"
      read decision
      if [ "$decision" = "0" ]; then
      rm "/usr/share/figlet/$line"
      echo -e "Font deleted"
      else
      echo -e "Font saved"
      fi
      n=$((n+1))
      done < $filename









      share|improve this question









      New contributor




      FCW is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
      Check out our Code of Conduct.












      I'd like to sort my sort my figlet fonts with testing, so I've decided to make a script, which will demonstrate figlet font one by one and will delete fonts I don't like.
      I've tried to find the solution for correct if-then condition inside while loop, but couldn't find one.
      Here's the script itself, but for now it just provides examples of all the fonts in the single scroll:



      #!/bin/bash
      #script to test figlet fonts
      rm /usr/share/figlet/list.txt #delete old list
      ls /usr/share/figlet > /usr/share/figlet/list.txt #create new list
      filename='/usr/share/figlet/list.txt'
      n=1
      while read line; do
      figlet -f $line Figlet
      echo -e "Press 0 if you don't like it, font will be deleted"
      read decision
      if [ "$decision" = "0" ]; then
      rm "/usr/share/figlet/$line"
      echo -e "Font deleted"
      else
      echo -e "Font saved"
      fi
      n=$((n+1))
      done < $filename






      shell-script






      share|improve this question









      New contributor




      FCW is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
      Check out our Code of Conduct.











      share|improve this question









      New contributor




      FCW is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
      Check out our Code of Conduct.









      share|improve this question




      share|improve this question








      edited 22 mins ago









      terdon

      134k33270450




      134k33270450






      New contributor




      FCW is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
      Check out our Code of Conduct.









      asked 29 mins ago









      FCWFCW

      61




      61




      New contributor




      FCW is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
      Check out our Code of Conduct.





      New contributor





      FCW is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
      Check out our Code of Conduct.






      FCW is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
      Check out our Code of Conduct.






















          1 Answer
          1






          active

          oldest

          votes


















          2














          The original problem, is that content of your file list is being fed to read decision and while cycle doesn't work as you expect.
          Though why do you need a list at all?



          Better to iterate through files with for cycle.



          #!/bin/bash
          for font in /usr/share/figlet/*; do
          figlet -f "$font" Figlet
          echo -e "Press 0 if you don't like it, font will be deleted"
          read decision
          if [ "$decision" = "0" ]; then
          rm "$font"
          echo -e "Font deleted"
          else
          echo -e "Font saved"
          fi
          done





          share|improve this answer


























            Your Answer








            StackExchange.ready(function() {
            var channelOptions = {
            tags: "".split(" "),
            id: "106"
            };
            initTagRenderer("".split(" "), "".split(" "), channelOptions);

            StackExchange.using("externalEditor", function() {
            // Have to fire editor after snippets, if snippets enabled
            if (StackExchange.settings.snippets.snippetsEnabled) {
            StackExchange.using("snippets", function() {
            createEditor();
            });
            }
            else {
            createEditor();
            }
            });

            function createEditor() {
            StackExchange.prepareEditor({
            heartbeatType: 'answer',
            autoActivateHeartbeat: false,
            convertImagesToLinks: false,
            noModals: true,
            showLowRepImageUploadWarning: true,
            reputationToPostImages: null,
            bindNavPrevention: true,
            postfix: "",
            imageUploader: {
            brandingHtml: "Powered by u003ca class="icon-imgur-white" href="https://imgur.com/"u003eu003c/au003e",
            contentPolicyHtml: "User contributions licensed under u003ca href="https://creativecommons.org/licenses/by-sa/3.0/"u003ecc by-sa 3.0 with attribution requiredu003c/au003e u003ca href="https://stackoverflow.com/legal/content-policy"u003e(content policy)u003c/au003e",
            allowUrls: true
            },
            onDemand: true,
            discardSelector: ".discard-answer"
            ,immediatelyShowMarkdownHelp:true
            });


            }
            });






            FCW is a new contributor. Be nice, and check out our Code of Conduct.










            draft saved

            draft discarded


















            StackExchange.ready(
            function () {
            StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2funix.stackexchange.com%2fquestions%2f513783%2fbash-script-to-execute-command-with-file-from-directory-and-condition%23new-answer', 'question_page');
            }
            );

            Post as a guest















            Required, but never shown

























            1 Answer
            1






            active

            oldest

            votes








            1 Answer
            1






            active

            oldest

            votes









            active

            oldest

            votes






            active

            oldest

            votes









            2














            The original problem, is that content of your file list is being fed to read decision and while cycle doesn't work as you expect.
            Though why do you need a list at all?



            Better to iterate through files with for cycle.



            #!/bin/bash
            for font in /usr/share/figlet/*; do
            figlet -f "$font" Figlet
            echo -e "Press 0 if you don't like it, font will be deleted"
            read decision
            if [ "$decision" = "0" ]; then
            rm "$font"
            echo -e "Font deleted"
            else
            echo -e "Font saved"
            fi
            done





            share|improve this answer






























              2














              The original problem, is that content of your file list is being fed to read decision and while cycle doesn't work as you expect.
              Though why do you need a list at all?



              Better to iterate through files with for cycle.



              #!/bin/bash
              for font in /usr/share/figlet/*; do
              figlet -f "$font" Figlet
              echo -e "Press 0 if you don't like it, font will be deleted"
              read decision
              if [ "$decision" = "0" ]; then
              rm "$font"
              echo -e "Font deleted"
              else
              echo -e "Font saved"
              fi
              done





              share|improve this answer




























                2












                2








                2







                The original problem, is that content of your file list is being fed to read decision and while cycle doesn't work as you expect.
                Though why do you need a list at all?



                Better to iterate through files with for cycle.



                #!/bin/bash
                for font in /usr/share/figlet/*; do
                figlet -f "$font" Figlet
                echo -e "Press 0 if you don't like it, font will be deleted"
                read decision
                if [ "$decision" = "0" ]; then
                rm "$font"
                echo -e "Font deleted"
                else
                echo -e "Font saved"
                fi
                done





                share|improve this answer















                The original problem, is that content of your file list is being fed to read decision and while cycle doesn't work as you expect.
                Though why do you need a list at all?



                Better to iterate through files with for cycle.



                #!/bin/bash
                for font in /usr/share/figlet/*; do
                figlet -f "$font" Figlet
                echo -e "Press 0 if you don't like it, font will be deleted"
                read decision
                if [ "$decision" = "0" ]; then
                rm "$font"
                echo -e "Font deleted"
                else
                echo -e "Font saved"
                fi
                done






                share|improve this answer














                share|improve this answer



                share|improve this answer








                edited 9 mins ago

























                answered 20 mins ago









                rushrush

                19.7k46696




                19.7k46696






















                    FCW is a new contributor. Be nice, and check out our Code of Conduct.










                    draft saved

                    draft discarded


















                    FCW is a new contributor. Be nice, and check out our Code of Conduct.













                    FCW is a new contributor. Be nice, and check out our Code of Conduct.












                    FCW is a new contributor. Be nice, and check out our Code of Conduct.
















                    Thanks for contributing an answer to Unix & Linux Stack Exchange!


                    • Please be sure to answer the question. Provide details and share your research!

                    But avoid



                    • Asking for help, clarification, or responding to other answers.

                    • Making statements based on opinion; back them up with references or personal experience.


                    To learn more, see our tips on writing great answers.




                    draft saved


                    draft discarded














                    StackExchange.ready(
                    function () {
                    StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2funix.stackexchange.com%2fquestions%2f513783%2fbash-script-to-execute-command-with-file-from-directory-and-condition%23new-answer', 'question_page');
                    }
                    );

                    Post as a guest















                    Required, but never shown





















































                    Required, but never shown














                    Required, but never shown












                    Required, but never shown







                    Required, but never shown

































                    Required, but never shown














                    Required, but never shown












                    Required, but never shown







                    Required, but never shown







                    Popular posts from this blog

                    Liste der Baudenkmale in Friedland (Mecklenburg)

                    Single-Malt-Whisky

                    Czorneboh