Looping without brace expansion
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
New contributor
add a comment |
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
New contributor
1
Do you have access to thejot
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
add a comment |
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
New contributor
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
bash shell-script shell
New contributor
New contributor
New contributor
asked 3 hours ago
CharacterClassCharacterClass
103
103
New contributor
New contributor
1
Do you have access to thejot
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
add a comment |
1
Do you have access to thejot
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
add a comment |
1 Answer
1
active
oldest
votes
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
add a comment |
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.
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
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
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
add a comment |
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
add a comment |
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
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
edited 2 hours ago
answered 3 hours ago
Weijun ZhouWeijun Zhou
1,481325
1,481325
add a comment |
add a comment |
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.
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.
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
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
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
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
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