We developed a simple BASH based CLI installer
It is tailored for our OS, but in theory it should work on any systemd based APT distro. Try https://github.com/armbian/configng
https://redd.it/1hssjme
@r_bash
It is tailored for our OS, but in theory it should work on any systemd based APT distro. Try https://github.com/armbian/configng
https://redd.it/1hssjme
@r_bash
GitHub
GitHub - armbian/configng: armbian-config is a powerful, user-friendly tool that simplifies managing an Armbian system.
armbian-config is a powerful, user-friendly tool that simplifies managing an Armbian system. - armbian/configng
Newbie question regarding #comment within an array of multiple values.
Hello, I have the following code below:
ModEnabled="1" # If 1 = Install/update mods
GameModList="123123123 234234234 345345345"
if $ModEnabled == "1" ;then
printf " ${yellow}REALM-SERVER${default} Updating/Downloading Mod files!\n"
for value in $GameModList; do
${HOME}/servers/steamcmd/steamcmd.sh \
+forceinstalldir ${HOME}/servers/gameserver/ \
+login "${SteamUser}" \
+workshopdownloaditem 123123 "${value}" \
validate +quit
done
printf " ${green}REALM-SERVER${default} Done downloading and updating Mod files!\n"
else
printf " ${red}Error${default} You have not enabled downloading and updating mods, skipping!\n"
fi
However,
GameModList="123123123 234234234 345345345"
Is going to be extremely big soon. My question is basically:
Is it possible do something like this:
GameModList="
123123123 #Mod Denoscription 1
234234234 #Mod Denoscription 2
345345345 #Mod Denoscription 3
"
Basically, list each modID in a new line + adding a #comment?
Best regards, <3
https://redd.it/1hswaqd
@r_bash
Hello, I have the following code below:
ModEnabled="1" # If 1 = Install/update mods
GameModList="123123123 234234234 345345345"
if $ModEnabled == "1" ;then
printf " ${yellow}REALM-SERVER${default} Updating/Downloading Mod files!\n"
for value in $GameModList; do
${HOME}/servers/steamcmd/steamcmd.sh \
+forceinstalldir ${HOME}/servers/gameserver/ \
+login "${SteamUser}" \
+workshopdownloaditem 123123 "${value}" \
validate +quit
done
printf " ${green}REALM-SERVER${default} Done downloading and updating Mod files!\n"
else
printf " ${red}Error${default} You have not enabled downloading and updating mods, skipping!\n"
fi
However,
GameModList="123123123 234234234 345345345"
Is going to be extremely big soon. My question is basically:
Is it possible do something like this:
GameModList="
123123123 #Mod Denoscription 1
234234234 #Mod Denoscription 2
345345345 #Mod Denoscription 3
"
Basically, list each modID in a new line + adding a #comment?
Best regards, <3
https://redd.it/1hswaqd
@r_bash
Reddit
From the bash community on Reddit
Explore this post and more from the bash community
The EveryDay Concerned Citizen | A site to get info, take action, make change happen
https://everydayconcerned.net/
https://redd.it/1hsznsb
@r_bash
https://everydayconcerned.net/
https://redd.it/1hsznsb
@r_bash
The Everyday Concerned Citizen
Media Site & Magazine | Publisher, Editor, Reporter: Ramola D | Independent Investigative Science & Tech/Human Rights/Consciousness Journalism
Is there a way to run an animation in the terminal while still typing commands without ending the animation?
Recently, I got interested in Neofetch (the terminal tool that shows system info in a cool way) and thought it would look so much better if the ASCII art was animated. I searched online but couldn’t find anything that lets you have animations while still using the terminal normally.
https://preview.redd.it/ovwg7912bwae1.png?width=1142&format=png&auto=webp&s=d22cc1e311da1166eb8c35fef426da5e4f7f8be3
I tried some ideas, like messing with the terminal buffer memory and using libraries like
So, my question is: is there any software that can do these two things?
1. Give high control over the terminal in a background process.
2. Let me use normal commands like
If this is a dumb question and the solution is super obvious, feel free to call me out
https://redd.it/1ht5583
@r_bash
Recently, I got interested in Neofetch (the terminal tool that shows system info in a cool way) and thought it would look so much better if the ASCII art was animated. I searched online but couldn’t find anything that lets you have animations while still using the terminal normally.
https://preview.redd.it/ovwg7912bwae1.png?width=1142&format=png&auto=webp&s=d22cc1e311da1166eb8c35fef426da5e4f7f8be3
I tried some ideas, like messing with the terminal buffer memory and using libraries like
ncurses, but they either made the code super complicated to maintain or broke normal terminal usage.So, my question is: is there any software that can do these two things?
1. Give high control over the terminal in a background process.
2. Let me use normal commands like
cd or nvim without visual glitches.If this is a dumb question and the solution is super obvious, feel free to call me out
https://redd.it/1ht5583
@r_bash
how do you splitt(=divide in 2 parts) a pdf using qpdf?
Hi, I am trying to get 2 pdf's of 1 (the original.pdf) for add later some pages in the middle and then I will get 1 again ¿collating? and get the original more big.
I looked online help and found the command splitt but It does a partition of 2 pages groups of the entire pdf, it strepps the pdf.
i need only 1 partition in the pag 45 for example
I found this:
qpdf --split-pages=2 infile.pdf outfile.pdf: output files are outfile-01-02.pdf through outfile-11-12.pdf
from: https://qpdf.readthedocs.io/en/stable/cli.html#option-collate
I hope you understand my question.... and of course if you know later how to get 1 again entired tell me
sorry my not EN lang. here.
Thank you and regards!
https://redd.it/1hteoyw
@r_bash
Hi, I am trying to get 2 pdf's of 1 (the original.pdf) for add later some pages in the middle and then I will get 1 again ¿collating? and get the original more big.
I looked online help and found the command splitt but It does a partition of 2 pages groups of the entire pdf, it strepps the pdf.
i need only 1 partition in the pag 45 for example
I found this:
qpdf --split-pages=2 infile.pdf outfile.pdf: output files are outfile-01-02.pdf through outfile-11-12.pdf
from: https://qpdf.readthedocs.io/en/stable/cli.html#option-collate
I hope you understand my question.... and of course if you know later how to get 1 again entired tell me
sorry my not EN lang. here.
Thank you and regards!
https://redd.it/1hteoyw
@r_bash
Why is this cURL request printing results to the screen?
I'm working on an API for Cloudflare, and I have this (almost straight from the docs):
curl "https://api.cloudflare.com/client/v4/zones/$zone_id/dns_records?per_page=50000" \
-4 \
--silent \
--header "X-Auth-Email: $email" \
--header "X-Auth-Key: $key" \
| jq -r '.result[].id' \
| while read id
do
curl -4 --request DELETE \
--url "https://api.cloudflare.com/client/v4/zones/$zone_id/dns_records/$id" \
--silent \
--header "X-Auth-Email: $email" \
--header "X-Auth-Key: $key"
done
Here's the doc on it, very short and simple:
[https://developers.cloudflare.com/api/resources/dns/subresources/records/methods/delete/](https://developers.cloudflare.com/api/resources/dns/subresources/records/methods/delete/)
For some reason it's printing this to the screen for each item it deletes:
{"result":{"id":"foo"},"success":true,"errors":[],"messages":[]}
I know that I can just add `> /dev/null 2>&1` to the end of the second curl (inside the while loop) to stop it from printing, but why is it doing it in the first place? None of the other curl statements print to the screen like that.
https://redd.it/1husmzz
@r_bash
I'm working on an API for Cloudflare, and I have this (almost straight from the docs):
curl "https://api.cloudflare.com/client/v4/zones/$zone_id/dns_records?per_page=50000" \
-4 \
--silent \
--header "X-Auth-Email: $email" \
--header "X-Auth-Key: $key" \
| jq -r '.result[].id' \
| while read id
do
curl -4 --request DELETE \
--url "https://api.cloudflare.com/client/v4/zones/$zone_id/dns_records/$id" \
--silent \
--header "X-Auth-Email: $email" \
--header "X-Auth-Key: $key"
done
Here's the doc on it, very short and simple:
[https://developers.cloudflare.com/api/resources/dns/subresources/records/methods/delete/](https://developers.cloudflare.com/api/resources/dns/subresources/records/methods/delete/)
For some reason it's printing this to the screen for each item it deletes:
{"result":{"id":"foo"},"success":true,"errors":[],"messages":[]}
I know that I can just add `> /dev/null 2>&1` to the end of the second curl (inside the while loop) to stop it from printing, but why is it doing it in the first place? None of the other curl statements print to the screen like that.
https://redd.it/1husmzz
@r_bash
Understanding indirect expansion ( ${!foo} )
I'm having a hard time getting my curl to return an error so that I can test this, so I'm hoping that someone can look at this and tell me if I'm using ${!foo} correctly?
I get the general concept that you use it when the value is used as the name of another variable, so is {!} always used when referencing an array with a variable key?
declare -A dns
# run several curl commands and set the return to a value of the array
dnsfoo=$(curl blahblahblah | jq '.errors | .message')
dnsbar=$(curl blahblahblah | jq '.errors | .message')
dnslorem=$(curl blahblahblah | jq '.errors | .message')
dnsipsum=$(curl blahblahblah | jq '.errors | .message')
# loop through dns and print any error responses
# do I need indirect expansion here?
for key in "${!dns@}";
do
if -n "${!dns[$key}" ]
then
printf "\0330;31m"
printf "DNS '$key' for $domain failed...\n"
printf "${!dns[$key}\n"
printf "\0330m\n"
# clear it so that it doesn't match later
dns[$key=''
fi
done
https://redd.it/1hv9spd
@r_bash
I'm having a hard time getting my curl to return an error so that I can test this, so I'm hoping that someone can look at this and tell me if I'm using ${!foo} correctly?
I get the general concept that you use it when the value is used as the name of another variable, so is {!} always used when referencing an array with a variable key?
declare -A dns
# run several curl commands and set the return to a value of the array
dnsfoo=$(curl blahblahblah | jq '.errors | .message')
dnsbar=$(curl blahblahblah | jq '.errors | .message')
dnslorem=$(curl blahblahblah | jq '.errors | .message')
dnsipsum=$(curl blahblahblah | jq '.errors | .message')
# loop through dns and print any error responses
# do I need indirect expansion here?
for key in "${!dns@}";
do
if -n "${!dns[$key}" ]
then
printf "\0330;31m"
printf "DNS '$key' for $domain failed...\n"
printf "${!dns[$key}\n"
printf "\0330m\n"
# clear it so that it doesn't match later
dns[$key=''
fi
done
https://redd.it/1hv9spd
@r_bash
Reddit
From the bash community on Reddit
Explore this post and more from the bash community
Trying to pass a regex via command line, and store it in a variable.
I, for the life of me, can't understand why I can't pass this regex as a variable and use it properly in my shell noscript. I have a text file that contains a number of strings that match a pattern, like this:
ECO "B40"
ECO "E61"
ECO "E63"
If I use grep, such as:
grep "\\"E[6-9\][0-9\]\\"" testdbs/testdb.pgn
It will correctly find all the ECO codes between E60 and E99.
However, If i try to pass "\\"E[6-9\][0-9\]\\"" to a noscript, it all fails.
For example, I'm passing it to the noscript as follows:
./noscript.sh --eco "\"E6-90-9\"" --input testdbs/testdb.pgn
And the noscript picks up the --eco flag via the typical getopts while loop:
case ${opt} in
h )
usage
;;
-)
case "${OPTARG}" in
eco)
ecoregex="${!OPTIND}"; OPTIND=$(( $OPTIND + 1 ))
;;
esac
esac
Later in my noscript, I try to use it like:
while IFS= read -r line; do
if [ "$line" =~ ^"$ecoregex" ]; then
ecomatches="true"
fi
done < $inputfile
But, it doesn't match. It either returns all the strings, or none of them. Any idea what I'm doing wrong?
https://redd.it/1hvjepj
@r_bash
I, for the life of me, can't understand why I can't pass this regex as a variable and use it properly in my shell noscript. I have a text file that contains a number of strings that match a pattern, like this:
ECO "B40"
ECO "E61"
ECO "E63"
If I use grep, such as:
grep "\\"E[6-9\][0-9\]\\"" testdbs/testdb.pgn
It will correctly find all the ECO codes between E60 and E99.
However, If i try to pass "\\"E[6-9\][0-9\]\\"" to a noscript, it all fails.
For example, I'm passing it to the noscript as follows:
./noscript.sh --eco "\"E6-90-9\"" --input testdbs/testdb.pgn
And the noscript picks up the --eco flag via the typical getopts while loop:
case ${opt} in
h )
usage
;;
-)
case "${OPTARG}" in
eco)
ecoregex="${!OPTIND}"; OPTIND=$(( $OPTIND + 1 ))
;;
esac
esac
Later in my noscript, I try to use it like:
while IFS= read -r line; do
if [ "$line" =~ ^"$ecoregex" ]; then
ecomatches="true"
fi
done < $inputfile
But, it doesn't match. It either returns all the strings, or none of them. Any idea what I'm doing wrong?
https://redd.it/1hvjepj
@r_bash
Reddit
From the bash community on Reddit
Explore this post and more from the bash community
Passing global variables into other noscripts
Hi everyone, I am working on project, the project has multiple sh files.
main.sh has many global variables i want to share with later running noscripts, first i think of use
I know passing them as arguments is a valid option, but I don't prefer it, because the noscripts i talk about could be written by user "to allow customization"
So to make it easier on user to write his noscript, by source vars.sh, and access all variables, I was thinking about functin like
Which will prints all global variables of the noscript into vars.sh
But i want to make the function generic and work in any noscript, and not hardcode my global variables in the function, so anyone have ideas?
Edit: I forgot to mention that make all global variables to environment variables, but I feel there is a better method than this
https://redd.it/1hvy45h
@r_bash
Hi everyone, I am working on project, the project has multiple sh files.
main.sh has many global variables i want to share with later running noscripts, first i think of use
source main.sh, then i remeber that the variabes values will changed and i will import values before the change.I know passing them as arguments is a valid option, but I don't prefer it, because the noscripts i talk about could be written by user "to allow customization"
So to make it easier on user to write his noscript, by source vars.sh, and access all variables, I was thinking about functin like
__print_my_global_variables "vars.sh"Which will prints all global variables of the noscript into vars.sh
But i want to make the function generic and work in any noscript, and not hardcode my global variables in the function, so anyone have ideas?
Edit: I forgot to mention that make all global variables to environment variables, but I feel there is a better method than this
https://redd.it/1hvy45h
@r_bash
Reddit
From the bash community on Reddit
Explore this post and more from the bash community
Using font colors in a HEREDOC
u/geirha made a comment in another thread about the proper way to use printf, and that sent me down a rabbit hole of learning the different printing styles. I don't do a lot of printing to the screen in bash (usually just error messages), but my 13 year old dog passed away recently so I'm distracting myself with unimportant projects.
As far as I can tell, the only way to use a HEREDOC is with
cat << EOF
\0330;31m Whatever, dude \033[0m
EOF
# \033[0;31m Whatever, dude \033[0m
The only option I've found to change font colors is to create variables using either `echo -e` or `tput`:
# using tput
RED=$(tput setaf 1)
NORM=$(tput sgr0)
# or, using echo -e
RED=`echo -e "\033[0;31m"`
NORM=`echo -e "\033[0m"`
cat << EOF
${RED}Whatever, dude${NORM}
EOF
Are those really the only / best ways to do this?
[https://redd.it/1hvy9u7
@r_bash
u/geirha made a comment in another thread about the proper way to use printf, and that sent me down a rabbit hole of learning the different printing styles. I don't do a lot of printing to the screen in bash (usually just error messages), but my 13 year old dog passed away recently so I'm distracting myself with unimportant projects.
As far as I can tell, the only way to use a HEREDOC is with
cat. Which is fine, but when I try to change the font color it prints the literal text instead of changing the font:cat << EOF
\0330;31m Whatever, dude \033[0m
EOF
# \033[0;31m Whatever, dude \033[0m
The only option I've found to change font colors is to create variables using either `echo -e` or `tput`:
# using tput
RED=$(tput setaf 1)
NORM=$(tput sgr0)
# or, using echo -e
RED=`echo -e "\033[0;31m"`
NORM=`echo -e "\033[0m"`
cat << EOF
${RED}Whatever, dude${NORM}
EOF
Are those really the only / best ways to do this?
[https://redd.it/1hvy9u7
@r_bash
Reddit
From the bash community on Reddit
Explore this post and more from the bash community
I built list of all (known) terminals - The Terminal Directory
https://termui.sh
https://redd.it/1huxq8b
@r_bash
https://termui.sh
https://redd.it/1huxq8b
@r_bash
termui.sh
The Terminal Directory
List of all (known) terminals
Email from Bash noscript loses its formatting
I'd appreciate help in fixing the following Bash noscript so it will retain the spacing and formatting as seen when running it as a simple Bash noscript.
When its content is embedded into an email it loses all that formatting.
TIA!
#!/usr/bin/bash
export PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
DATADIR=/mnt/data
HOSTNAME=$(hostname)
EMAILRECIP="admin@example.com"
/usr/sbin/sendmail -it << EOF
From: Server <adm@$HOSTNAME>
To: $EMAILRECIP
Subject: Quota report from $HOSTNAME
Content-Type: text/plain; charset=UTF-8
$(date)
$(echo " Path Hard-limit Soft-limit Used Available Soft-limit exceeded? Hard-limit exceeded?")
$(echo "-------------------------------------------------------------------------------------------------------------------------------")
$(ls -1 $DATADIR | while read -r DIR; do
gluster volume quota data list /"$DIR" | tail -n +3 | cut -c2-
done)
$(echo "----------------------------------------------------------------")
EOF
https://redd.it/1hxi62b
@r_bash
I'd appreciate help in fixing the following Bash noscript so it will retain the spacing and formatting as seen when running it as a simple Bash noscript.
When its content is embedded into an email it loses all that formatting.
TIA!
#!/usr/bin/bash
export PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
DATADIR=/mnt/data
HOSTNAME=$(hostname)
EMAILRECIP="admin@example.com"
/usr/sbin/sendmail -it << EOF
From: Server <adm@$HOSTNAME>
To: $EMAILRECIP
Subject: Quota report from $HOSTNAME
Content-Type: text/plain; charset=UTF-8
$(date)
$(echo " Path Hard-limit Soft-limit Used Available Soft-limit exceeded? Hard-limit exceeded?")
$(echo "-------------------------------------------------------------------------------------------------------------------------------")
$(ls -1 $DATADIR | while read -r DIR; do
gluster volume quota data list /"$DIR" | tail -n +3 | cut -c2-
done)
$(echo "----------------------------------------------------------------")
EOF
https://redd.it/1hxi62b
@r_bash
Reddit
From the bash community on Reddit
Explore this post and more from the bash community
Show: writenow: the command-line clone of Ensō
writenow is a opensource command-line clone of Ensō I first saw Ensō two years ago in HN and was very interested in the idea. I wanted an opensource version of it installed on my machine. So, I tried to clone it using bash noscript as a command-line version, you can find here.
The project hasn't been maintained for few months as I got busy on my 9to5 job. However, I’ve dedicated time for open-source contributions starting in 2025, and one of my current goals is to further develop writenow.
My next steps are to create a to-do list of future tasks and work on them in short-term iterations.
All issues, PRs, and feedback are welcome, and I’d be delighted if you starred the repository on GitHub.
demo of writenow
https://redd.it/1hxd041
@r_bash
writenow is a opensource command-line clone of Ensō I first saw Ensō two years ago in HN and was very interested in the idea. I wanted an opensource version of it installed on my machine. So, I tried to clone it using bash noscript as a command-line version, you can find here.
The project hasn't been maintained for few months as I got busy on my 9to5 job. However, I’ve dedicated time for open-source contributions starting in 2025, and one of my current goals is to further develop writenow.
My next steps are to create a to-do list of future tasks and work on them in short-term iterations.
All issues, PRs, and feedback are welcome, and I’d be delighted if you starred the repository on GitHub.
demo of writenow
https://redd.it/1hxd041
@r_bash
enso.sonnet.io
Ensō—write now, edit later.
Ensō is a writing tool that helps you enter a state of flow.
how delete 3 pages from pdf using qpdf?
hi, I am trying to delete 3 pages from a pdf, I can not do that.
I tryied with:
qpdf original.pdf --empty --pages . 1-100,r90,r95,r100 -- out.pdf
even I tryed with x90,95,100 but do a mistake
Thank you and regards!
https://redd.it/1hxs112
@r_bash
hi, I am trying to delete 3 pages from a pdf, I can not do that.
I tryied with:
qpdf original.pdf --empty --pages . 1-100,r90,r95,r100 -- out.pdf
even I tryed with x90,95,100 but do a mistake
Thank you and regards!
https://redd.it/1hxs112
@r_bash
Reddit
From the bash community on Reddit
Explore this post and more from the bash community
arguments with spaces to a noscript, run from another noscript
So here is an example with a simple noscript that just prints out its first, second and third argument.
Works as intended with both single and space-embedded arguments
~/tmp$ cat args.sh
#!/usr/bin/env bash
echo "1: $1"
echo "2: $2"
echo "3: $3"
~/tmp$ ./args.sh a b c
1: a
2: b
3: c
~/tmp$ ./args.sh a 'b b' c
1: a
2: b b
3: c
But now if i run this noscript from another noscript that uses a variable to pass the arguments, then the quotations dont work.
How can i get this working so that "b b" is understood as one single argument?
In reality these arguments are fetched from a text-file, but I tried to simplify as much as possible here.
~/tmp$ cat wrapper.sh
#!/usr/bin/env bash
args="a 'b b' c"
./args.sh $args
~/tmp$ ./wrapper.sh
1: a
2: 'b
3: b'
https://redd.it/1hxzsgy
@r_bash
So here is an example with a simple noscript that just prints out its first, second and third argument.
Works as intended with both single and space-embedded arguments
~/tmp$ cat args.sh
#!/usr/bin/env bash
echo "1: $1"
echo "2: $2"
echo "3: $3"
~/tmp$ ./args.sh a b c
1: a
2: b
3: c
~/tmp$ ./args.sh a 'b b' c
1: a
2: b b
3: c
But now if i run this noscript from another noscript that uses a variable to pass the arguments, then the quotations dont work.
How can i get this working so that "b b" is understood as one single argument?
In reality these arguments are fetched from a text-file, but I tried to simplify as much as possible here.
~/tmp$ cat wrapper.sh
#!/usr/bin/env bash
args="a 'b b' c"
./args.sh $args
~/tmp$ ./wrapper.sh
1: a
2: 'b
3: b'
https://redd.it/1hxzsgy
@r_bash
Reddit
From the bash community on Reddit
Explore this post and more from the bash community
Bash unpredictability
Does anyone know why Bash works the way it does? Why are there so many ways to do a particular thing, with most only yielding partially successful results and, say, one out of seven giving the result you're looking for?
https://redd.it/1hy0qvf
@r_bash
Does anyone know why Bash works the way it does? Why are there so many ways to do a particular thing, with most only yielding partially successful results and, say, one out of seven giving the result you're looking for?
https://redd.it/1hy0qvf
@r_bash
Reddit
From the bash community on Reddit
Explore this post and more from the bash community
How to Display Dynamic Menu Under Active Command Line Input in Bash Terminal?
I want to write a Bash noscript that implements a menu which updates in real-time directly beneath the active command line as the user types. Like what you see here with ble.sh , where the user was able to select "tmux" from options displayed below the line they were typing on.
I'm still a beginner, so I wanted to know if this is something feasible for me right now, or if it's more complicated than it appears. If it is feasible, how can I get started?
https://redd.it/1hxz61b
@r_bash
I want to write a Bash noscript that implements a menu which updates in real-time directly beneath the active command line as the user types. Like what you see here with ble.sh , where the user was able to select "tmux" from options displayed below the line they were typing on.
I'm still a beginner, so I wanted to know if this is something feasible for me right now, or if it's more complicated than it appears. If it is feasible, how can I get started?
https://redd.it/1hxz61b
@r_bash
Does rbash disable functions?
I've built a sandbox that restricts the user to the rbash shell. But what I've found was that the user was still able to execute functions which can be bad for the environment because it enables the use of a fork bomb:
:(){ :|:& };:
#
I don't want to set a process limit for the user. I would like to just disable the user from declaring and executing functions.
https://redd.it/1hy2mnw
@r_bash
I've built a sandbox that restricts the user to the rbash shell. But what I've found was that the user was still able to execute functions which can be bad for the environment because it enables the use of a fork bomb:
:(){ :|:& };:
#
I don't want to set a process limit for the user. I would like to just disable the user from declaring and executing functions.
https://redd.it/1hy2mnw
@r_bash
Reddit
From the bash community on Reddit
Explore this post and more from the bash community
Reading when user enters a response without hitting enter
I have this:
cat <<EOF
Press x
EOF
read response
if [ $response == 'x' ]; then
printf "you did it!"
else
printf "dummy"
fi
This requires the user to
How do I get it to listen and respond immediately after they press x?
https://redd.it/1hyqv8v
@r_bash
I have this:
cat <<EOF
Press x
EOF
read response
if [ $response == 'x' ]; then
printf "you did it!"
else
printf "dummy"
fi
This requires the user to
press x [Enter], though.How do I get it to listen and respond immediately after they press x?
https://redd.it/1hyqv8v
@r_bash
Reddit
From the bash community on Reddit
Explore this post and more from the bash community