Using pipe in bash - is this the expected behaviour?
Hi all,
Am trying to convert a script from ksh to bash . One of the sub is something like below:
The output of running the above script is as below:
As you can see, am not getting the contents of the arrays if I use a pipe with the while loop.
Is this the expected behavior for bash ... Am kinda hoping I can avoid having to create a temporary file just like how am doing it on step_02_test.
What am wanting to accomplish is to be able to put into the array the output of the ps command having to redirect to a file and read from it. Maybe I don't need to use a while loop?
BTW also tried the following:
Unfortunately, the output from step_03_test gives as below:
Feedback/Advise much appreciated. Thanks.
Last edited by newbie_01; 05-23-2012 at 02:22 AM..
Reason: Added more information
This is a KSH-only construct. No ordinary Bourne shell lets you put 'while read' on the end of a pipe. You set variables, but they don't stick around, because they're being set in a subshell, not in your shell.
Cramming it all into backticks will do strange things since it will split wherever it pleases, not on lines.
I'd redirect it into a temp file (/tmp/$$ perhaps) then read from that in the loop.
Hi Guys,
I wrote a collection of bash functions years ago and now need to use them again but
I'm getting some error messages when eval tries to expand the variables names.
I recollect that I used the shopt command to set one of the options but I can't quite
remember the command that I... (8 Replies)
Repeat this text in a file named notes.txt and run the script
Before bash is a good language a blank line appears
Also, the following notes are displayed incorrectly
What is bad?
==================================
Title : Note 1
==================================
Category: Computer
Date... (3 Replies)
I'm trying to understand why a script behaves different when run through a pipe.
My OS:
Linux myip 3.13.0-92-generic #139-Ubuntu SMP Tue Jun 28 20:42:26 UTC 2016 x86_64 x86_64 x86_64 GNU/Linux
This script (myscript.sh):
#!/bin/bash
echo whoami:
whoami
echo who:
who
echo who... (2 Replies)
Hello Gurus :)
I'm "currently" (for the last ~2weeks) writing a script to build ffmpeg with some features from scratch.
This said, there are quite a few features, libs, to be downloaded, compiled and installed, so figured, writing functions for some default tasks might help.
Specialy since... (3 Replies)
Good morning
Recently we needed to change the password from a redhat 6.5 system that no one knew the root password.
Starting the system with the init=/bin/bash method took us to the following scenario:
system_vg active with only root_lv and tmpfs mounted.
our entries at fstab are like... (1 Reply)
Hello.
In the following :
RESTORE_FF contain a file name : a_file.tar.gz
I am testing in a directory if "a_file.tar.gz" exists and or if any file like "a_file.tar.gz" exists.
So "a_file.tar.gz" will give me file exists
So "a_file.tar.gz." will give me file exists
So... (5 Replies)
Hi there,
following code snippet should output nothing, IMHO. But the result is "THE END".
#!/bin/bash
if true ; thenexit
fi | grep "somesearchstring"
echo "THE END"using bash 4.1.9(1)
Bug or feature?
Hagen (5 Replies)
Hello,
I am not sure, where I am missing in the scirpt, I am trying to grep few users from /etc/passwd file and if exists, I added line to echo as user exist, if not create it.
#!/bin/bash
for vid in v707 z307 z496 z163 z292 ; do
if
then
echo " $vid User exists "
else
... (2 Replies)
Hi!
Been working on a script and I've been having a problem. I've finally narrowed it down to this variable I'm setting:
servername=$(awk -v FS=\/ '{ print $7 } blah.txt | sed 's\/./-/g' | awk -v FS=\- '{print $1}')"
This will essentially pare down a line like this:
... (7 Replies)
Hi,
I have a bash script which I have referenced in the rc.local of my fedora linux OS. However it doesnt respond the same as when run in terminal from fedora.
The bash script has a series of interactive questions that require user input as shown:
#!/bin/bash
echo "Do you want to use... (1 Reply)