Looping without brace expansion












0















I'm using a blackbox CLI based on Bash and I'm not entirely sure what stuff I can use.
Brace expansion doesn't work, and with it goes my ability to do loops without listing the arguments explicitly, which is something I was trying to avoid by looping to start with.



for x in {1..5}
do
for y in {a..c}
do
echo $HOME$x$y
done
done


How do I run something like this without brace expansion and without listing the arguments explicitly? Environment variables should also work, that's why I appended a random $HOME to the example.



Please feel free to provide different alternatives (AWK, sed) as I'm not entirely sure what will and what won't work.










share|improve this question







New contributor




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
















  • 1





    Do you have access to the jot command?

    – Fox
    3 hours ago






  • 2





    So this appears to be not based on Bash based on your description; what makes you think that it is? Is there any further detail available about the system, the shell that's in it, or the tools that are available there?

    – Michael Homer
    2 hours ago


















0















I'm using a blackbox CLI based on Bash and I'm not entirely sure what stuff I can use.
Brace expansion doesn't work, and with it goes my ability to do loops without listing the arguments explicitly, which is something I was trying to avoid by looping to start with.



for x in {1..5}
do
for y in {a..c}
do
echo $HOME$x$y
done
done


How do I run something like this without brace expansion and without listing the arguments explicitly? Environment variables should also work, that's why I appended a random $HOME to the example.



Please feel free to provide different alternatives (AWK, sed) as I'm not entirely sure what will and what won't work.










share|improve this question







New contributor




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
















  • 1





    Do you have access to the jot command?

    – Fox
    3 hours ago






  • 2





    So this appears to be not based on Bash based on your description; what makes you think that it is? Is there any further detail available about the system, the shell that's in it, or the tools that are available there?

    – Michael Homer
    2 hours ago
















0












0








0








I'm using a blackbox CLI based on Bash and I'm not entirely sure what stuff I can use.
Brace expansion doesn't work, and with it goes my ability to do loops without listing the arguments explicitly, which is something I was trying to avoid by looping to start with.



for x in {1..5}
do
for y in {a..c}
do
echo $HOME$x$y
done
done


How do I run something like this without brace expansion and without listing the arguments explicitly? Environment variables should also work, that's why I appended a random $HOME to the example.



Please feel free to provide different alternatives (AWK, sed) as I'm not entirely sure what will and what won't work.










share|improve this question







New contributor




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












I'm using a blackbox CLI based on Bash and I'm not entirely sure what stuff I can use.
Brace expansion doesn't work, and with it goes my ability to do loops without listing the arguments explicitly, which is something I was trying to avoid by looping to start with.



for x in {1..5}
do
for y in {a..c}
do
echo $HOME$x$y
done
done


How do I run something like this without brace expansion and without listing the arguments explicitly? Environment variables should also work, that's why I appended a random $HOME to the example.



Please feel free to provide different alternatives (AWK, sed) as I'm not entirely sure what will and what won't work.







bash shell-script shell






share|improve this question







New contributor




CharacterClass 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




CharacterClass 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






New contributor




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









asked 3 hours ago









CharacterClassCharacterClass

103




103




New contributor




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





New contributor





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






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








  • 1





    Do you have access to the jot command?

    – Fox
    3 hours ago






  • 2





    So this appears to be not based on Bash based on your description; what makes you think that it is? Is there any further detail available about the system, the shell that's in it, or the tools that are available there?

    – Michael Homer
    2 hours ago
















  • 1





    Do you have access to the jot command?

    – Fox
    3 hours ago






  • 2





    So this appears to be not based on Bash based on your description; what makes you think that it is? Is there any further detail available about the system, the shell that's in it, or the tools that are available there?

    – Michael Homer
    2 hours ago










1




1





Do you have access to the jot command?

– Fox
3 hours ago





Do you have access to the jot command?

– Fox
3 hours ago




2




2





So this appears to be not based on Bash based on your description; what makes you think that it is? Is there any further detail available about the system, the shell that's in it, or the tools that are available there?

– Michael Homer
2 hours ago







So this appears to be not based on Bash based on your description; what makes you think that it is? Is there any further detail available about the system, the shell that's in it, or the tools that are available there?

– Michael Homer
2 hours ago












1 Answer
1






active

oldest

votes


















0














You'd better use jot as commented. Here is a (not so pretty) awk implementation.



#!/usr/bin/awk -f
BEGIN{
for(i=1;i<5;i++)
for(j=97;j<100;j++)
printf "%s%d%c ",ENVIRON["HOME"],i,j;
print;
}


or (you may also use the -v option of awk to assign shell variables to awk variables)



#!/bin/bash
awk -f /dev/fd/3 3<< EOF
BEGIN{
for(i=1;i<5;i++)
for(j=97;j<100;j++)
printf "$HOME%d%c ",i,j;
print;
}
EOF





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
    });


    }
    });






    CharacterClass 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%2f505768%2flooping-without-brace-expansion%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









    0














    You'd better use jot as commented. Here is a (not so pretty) awk implementation.



    #!/usr/bin/awk -f
    BEGIN{
    for(i=1;i<5;i++)
    for(j=97;j<100;j++)
    printf "%s%d%c ",ENVIRON["HOME"],i,j;
    print;
    }


    or (you may also use the -v option of awk to assign shell variables to awk variables)



    #!/bin/bash
    awk -f /dev/fd/3 3<< EOF
    BEGIN{
    for(i=1;i<5;i++)
    for(j=97;j<100;j++)
    printf "$HOME%d%c ",i,j;
    print;
    }
    EOF





    share|improve this answer






























      0














      You'd better use jot as commented. Here is a (not so pretty) awk implementation.



      #!/usr/bin/awk -f
      BEGIN{
      for(i=1;i<5;i++)
      for(j=97;j<100;j++)
      printf "%s%d%c ",ENVIRON["HOME"],i,j;
      print;
      }


      or (you may also use the -v option of awk to assign shell variables to awk variables)



      #!/bin/bash
      awk -f /dev/fd/3 3<< EOF
      BEGIN{
      for(i=1;i<5;i++)
      for(j=97;j<100;j++)
      printf "$HOME%d%c ",i,j;
      print;
      }
      EOF





      share|improve this answer




























        0












        0








        0







        You'd better use jot as commented. Here is a (not so pretty) awk implementation.



        #!/usr/bin/awk -f
        BEGIN{
        for(i=1;i<5;i++)
        for(j=97;j<100;j++)
        printf "%s%d%c ",ENVIRON["HOME"],i,j;
        print;
        }


        or (you may also use the -v option of awk to assign shell variables to awk variables)



        #!/bin/bash
        awk -f /dev/fd/3 3<< EOF
        BEGIN{
        for(i=1;i<5;i++)
        for(j=97;j<100;j++)
        printf "$HOME%d%c ",i,j;
        print;
        }
        EOF





        share|improve this answer















        You'd better use jot as commented. Here is a (not so pretty) awk implementation.



        #!/usr/bin/awk -f
        BEGIN{
        for(i=1;i<5;i++)
        for(j=97;j<100;j++)
        printf "%s%d%c ",ENVIRON["HOME"],i,j;
        print;
        }


        or (you may also use the -v option of awk to assign shell variables to awk variables)



        #!/bin/bash
        awk -f /dev/fd/3 3<< EOF
        BEGIN{
        for(i=1;i<5;i++)
        for(j=97;j<100;j++)
        printf "$HOME%d%c ",i,j;
        print;
        }
        EOF






        share|improve this answer














        share|improve this answer



        share|improve this answer








        edited 2 hours ago

























        answered 3 hours ago









        Weijun ZhouWeijun Zhou

        1,481325




        1,481325






















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










            draft saved

            draft discarded


















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













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












            CharacterClass 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%2f505768%2flooping-without-brace-expansion%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

            Accessing regular linux commands in Huawei's Dopra Linux

            Can't connect RFCOMM socket: Host is down

            Kernel panic - not syncing: Fatal Exception in Interrupt