r_bash – Telegram
Question on subshell

Hi everyone ,

I'm currently reading a book "Linux Command Line and Shell Scripting Bible" and when I was studying about the concept on how to extract the value from the output and send it to a variable (which I completely understood) , Author calls this method "Command Substitution" .

After that there was this "Warning" section . In which the highlighted part I wasn't able to really understand .

I did refer this stackoverflow question over here > https://serverfault.com/questions/723391/subshell-is-not-created-if-run-commands-without-a-path

but I wasn't able to get it still .

If someone can please take out there time to help me understand this concept I would highly appreciate it thanks !

https://preview.redd.it/63sogx5i4unb1.png?width=985&format=png&auto=webp&s=298687b726f205cd7a9467a430bcdf3fa8e0aea8

https://redd.it/16gsxgm
@r_bash
What's this X$1 Thing?

I've run across "X$1" recently and I'm at a loss. Anyone have any ideas what it could be? If you could illustrate your explanation with a simple example, that would be fantastic, as I usually get things better this way.

https://redd.it/16gull2
@r_bash
Pipelight - Tiny automation pipelines. -> v0.6.17

Hi! Some updates from the latest version of your friendly neighborhood automation tool.

You've always been able to increase pipeline log verbosity with the -v flag.

But now you can also see what happens inside the software when running a pipeline with the internal verbosity flag (-u) .

pipelight run --attach -uuuu


more in the documentation at https://pipelight.dev

Pipelight is now compatible with every linux distros.

https://redd.it/16gsufa
@r_bash
Help with Syntax

Hello, I was wondering if anyone can spot any glaring issues with my syntax here for this function. I am running into \[: missing \`\]' and \[: too many arguments errors.

​

push_dependencies(){
for env in ${environments}
do
while read line; do
if [ $line = "" ]; then
break
elif [[ $line != "DEPENDENCIES" && $($line | cut -b -4) != " " ]] && [ $line != *"sircon"* ]; then
berks upload $(echo $line | xargs) --except test --force --config ~/.berkshelf/config-${env}.json
fi
done < Berksfile.lock
done
}

&#x200B;

https://redd.it/16gxrl4
@r_bash
Something You Have Done


Hey! I'm curious to know about some of the nifty bash noscripting you've done, especially related to automation or some challenges. No need for anything complex, just something simple that you're proud of. Mine was some facts gathering , like an agent type stuff.

https://redd.it/16gxabh
@r_bash
processing exit 1 in next step

So I am trying to write bash that will check if software is installed and if not return 1

I am having issue getting exit 1 passed down for some reason

else
  echo "The Software $software_package is not installed. Flagging for installation"
  exit 1
fi

exit 1 is not being passed to this line :

if [[ $? -ne 0  \]\]; then
   echo "noscript exited with 1"
   exit 1
fi

What I

https://redd.it/16h55y5
@r_bash
Hoping For help spotting an error

Hey Guys i have a project i am working on for uni where we gotta answer a bunch questions around learning bash commands my issue is just with the submission cause my uni is stupid.


we have to convert our notebook to HTML which is easy to do but we are getting automatic 0 grades even if one error.

jupyter nbconvert --execute --allow-errors --to html

&#x200B;

what is happening when i convert is cant write it in meaning there is an error somewhere but when i run each cell im getting no errors what should be i looking for or feel free to DM me i cna give you my notebook if need

https://redd.it/16hcdmv
@r_bash
Have xargs release the shell after gui app is launched

Hello,

I have this Alias

alias fzfg='fd --type f |fzf-tmux -p --height=75% --reverse | xargs -o gimp '

This Alias works as is but it does not release the shell until gimp is closed.

I would like gimp to launch and free up the terminal for other work. I have tried background the gimp with & but can't get the correct syntax.

Any help greatly appreciated.

Joe

https://redd.it/16hc75j
@r_bash
Align columns altered by sed with each respective values

Hi guys, hope everybody is well, i have translated free -h output to portuguese using sed with the following code

free -h | grep -v ""Swap:"" | sed -e 's/Mem:/ /g; s/total/Total/g; s/used/Em Uso/g; s/free/Livre/g; s/shared/Compartilhada/g; s/buff\\/cache/Em Cache/g; s/available/Disponível/g' | sed 's/\^ *//g';

the duplicated double quotes are there because it is coming from a powershell noscript that ssh into a linux machine.

the output from the code is:

&#x200B;

After first column the rest are unaligned

There is any way to align them all as Total?

Thanks in Advance!

PS: I can use awk print {$1...} because ssh does not recognized the variables.

PS2: list view formatting would be a better solution

https://redd.it/16hols3
@r_bash
Convert this noscript where I can input the day

LC_ALL=C awk -v beg=10:00:00 -v end=13:00:00 '
match($0, /[0-2][0-9]:[0-5][0-9]:[0-5][0-9]/) {
t = substr($0, RSTART, 8)
if (t >= end) selected = 0
else if (t >= beg) selected = 1
}
selected'


I didn't write this noscript but I vaguely understand it in gist and what it does..
The date format in our logs is like this (first and second column then rest are stuffs like INFO/DEBUG name of class bla bla...


2023-09-13 20:21:28


What I want
I want to be able to input the beginning day as well i.e I want logs of 2023-09-12 from 05:30:00 to 13:30:00.
How'd I do it?
I vaguely know it requires some regex and regex I bad at it.

https://redd.it/16hqgyh
@r_bash
How to Make a GUI Prompt to Input Sudo Password?

Hi all! I was wondering i anyone had any ideas on how to create a pop-up to input the sudo password.

For right now, I'm just trying to do something as simple as make an executable noscript to run sudo apt update and apt upgrade, mainly just to try to get the prompt to work.

Tried using Zenity and ran a command to display "hi":

`echo $(zenity --password --noscript="Enter sudo password") | sudo -S echo "hi"`

Seems to work, but when i run it again, it prints the text again and completes the noscript and still brings up the prompt.

Also tried askpass, but when i try running `sudo -A apt update`, i get the message:

"sudo: no askpass program specified, try setting SUDO_ASKPASS"

When I run `echo $SUDO_ASKPASS`, it just displays a blank newline.

I'm not sure what to try next.

https://redd.it/16i1pey
@r_bash
Bash Customization

Hey guys! Just started using bash. How have you guys customized your terminal and how have you gone about doing so? I added export PS1="$ " to my .bash_profile but that made me lose all colors that were previously in the text. Any help is appreciated! Just want to make it easier for me to read the terminal.

https://redd.it/16i5np9
@r_bash
Shell noscript to enable or disable AVB/EAV mode possible?

Is it possible to enable or disable AVB/EAV mode by terminal?

https://preview.redd.it/wsso8y35x4ob1.png?width=684&format=png&auto=webp&s=c17e5a290a1494b92b0f764629ae5f16e55e09cc

https://redd.it/16i6qe3
@r_bash
How to conditionally remove names across parallel lines or immediately after each other?

How could every repeated actor but only if it repeats right into the next line - or multiple parallel lines (like DEVON and RICKEN here) there name gets deleted and replaced with spaces also empty line gets removed.

input:

RICKEN: This is so fun. Shall I, you know, tiptoe up and sneak to the door?

DEVON: He’s at work, baby. It doesn’t matter.

RICKEN: How do you know?

DEVON: Because his car’s not here.

RICKEN: Maybe he played hooky.

DEVON: Can you go do it?

DEVON: Cause I gotta pee.

DEVON: Realy fast.

RICKEN: Yes.

RICKEN: Against the door, or to the side?

DEVON: I think either’s really good.

RICKEN: Do you think he’ll be surprised?

DEVON: I do.

RICKEN: My babe, I’m gonna put it off to the side.

DEVON: Awesome.


output:

RICKEN: This is so fun. Shall I, you know, tiptoe up and sneak to the door?

DEVON: He’s at work, baby. It doesn’t matter.

RICKEN: How do you know?

DEVON: Because his car’s not here.

RICKEN: Maybe he played hooky.

DEVON: Can you go do it?
Cause I gotta pee.
Realy fast.

RICKEN: Yes.
Against the door, or to the side?

DEVON: I think either’s really good.

RICKEN: Do you think he’ll be surprised?

DEVON: I do.

RICKEN: My babe, I’m gonna put it off to the side.

DEVON: Awesome.

https://redd.it/16im5us
@r_bash
Accidentally broke something in a loop, noscript now complex enough to give me a headache

Not posting noscript directly here due to hugeness.

Pastebin: https://pastebin.com/WUUczzuD

Basically, I have this function "playlistscreenprinter".

It's intended job is to read a bunch of arrays, then print out the last n items in each array as columns in a numbered table. (n would be the number of rows in the terminal who aren't used for anything yet. It checks term size)

If the number of items in the array is less than n, then it should print what there is, and then some "echo -e" to pad out the end.

I had everything working until I started adding the conditional checks for if there is less in the array than n. Now it is broken, it prints out blank values instead.

Worse, this function has gotten complex enough that I actually can't hold all of it's workings inside my own head. I have literally no idea how these checks work, even though I have just written them. I get a headache and can't concentrate. (this might also have a medical component, but mostly interested in keeping to the noscript)

Could someone please check this code and tell me what it's actually doing? I feel like I've got a head wound.

https://redd.it/16ilw3b
@r_bash
A great ps4-5 and xbox dayz server

_Discovery Survival_

Wanna be apart of something great ? Introducing Discovery Survival ! With multiple PlayStation servers and Xbox as well ! Anything from pvp or just looting around we have it all !

* shop
* prio support
* custom bases
* custom killfeed
* in game credits that can be spent
* Build literally anywhere you WANT !
* Boosted loot
* Resets every 2 hours
* Many factions to join or create
* Servers NEVER wipe
* All servers weekend raids only

Come be apart of something awesome and bless us with being apart of it 😊

https://discord.gg/discoverysurvival

https://redd.it/16ir6sq
@r_bash
Bug in find command

Hi everyone,

I’m having an issue with my find command that I can’t seem to figure out.

Command:

find . -type d -iname “NamePattern*” -exec cp -rf {} /tmp \;


Sometimes the above command works properly by copying the resulting folder into /tmp (desired outcome)

Other times it copies all the files inside the resulting folder into /tmp. This is not expected.

I’m not sure why the behaviour keeps changing. It displays both behaviours even if the search pattern is the same. I run the command for the same folder and yet one time it copies the folder and the next time it copies all the files from inside the folder.

Can someone please help me understand what I am doing wrong here and how to fix this?

https://redd.it/16iy1o8
@r_bash
Found Useful Code to use, but don't Grasp Parts of It (newbie!)

I was looking to make a GUI pop-up to input the sudo password for a noscript I'm making. I'm a complete novice to bash noscripting and I came across another Reddit post that had some code that was able to do what I needed, but I'm not sure what some of it does:

fatal() {
echo "FATAL ERROR: $@"
exit 1
}
trap 'sudo -k' EXIT
zenity --password | sudo -Sv || fatal "Unable to sudo"

It's going at the beginning of my noscript, and I can understand what its supposed to be doing, but there's just a few parts I'm trying to understand about it, if that makes any sense...

In the fatal function, I'm not sure what the "$@" part of the echo command is or how it works, I tried googling it, but I couldn't really understand what I was reading or it gave examples of some other noscripts that I couldn't fully decipher.

I tried looking but apparently I don't have a manual on the trap command, and after some googling, I have a vague understanding of it.

Last part, I'm having a hard time grasping the explanations of the -Sv options of the sudo man page.

I was hoping someone might be able to explain one or all of those in as simplified a manner as possible so my tiny brain can grasp their concepts

https://redd.it/16j2ze4
@r_bash
How do I correctly copy and paste into the terminal?

If I wanted to paste this into the terminal as is

file=randomfile
while IFS= read -r line
do
echo $line
done < "$file"

It comes out looking weird and it doesn't run. There are new lines and it's not pasted correctly.

<~>$ file=randomfile
S= read -r line<~>$ while IFS= read -r line> do
echo $line
> done < "$file"

How do you usually copy and paste simple snippets of bash code found on stackoverflow onto the terminal without saving into a file through vim?

And sometimes if it does paste into the terminal without it looking all weird, it executes automatically, is there a reason for that?

https://redd.it/16j4ecc
@r_bash