In bash and most shells the while loop the part after the pipe is executed in the background (except ksh and zsh). In those shells, once the part behind the pipe finishes, any variable content will be lost. One can avoid this like this with a code block:
Code:
echo "$var" |
{
while read nextline
do
a=blah
done
echo "$a"
}
Or by avoiding the pipe altogether (bash/ksh93/zsh only)
Code:
while read nextline
do
a=blah
done <<< "$var"
echo "$a"
Last edited by Scrutinizer; 10-19-2018 at 12:54 PM..
Reason: $ sign was missing
This User Gave Thanks to Scrutinizer For This Post:
Hello guys.
In my script, i have the following code:
echo "The tarfile contains these directorys"
tar -tf file.tar > tarlist.txt
cat tarlist | awk -F/ '{print $1 "/" $2}' | nl
echo "Enter path of the directory you want to extract or just press enter to extract everything: "
read path... (1 Reply)
HI ,
I have to check the values of variable is blank or not.
exm :
###test
test1
var=`cate filename | head -1 | cut -c1-3`
I need to check the first three character of 1st line . if it is blank .then exit or we need to process .
Thanks in advance . (2 Replies)
I am testing a ksh script for email.
In the subject/content of the mail there is some dynamic variables like date and charges.
However these variables occupied the entire line erase other in that particular line
For e.g. there is a mail message:
This mail is intent...
Your total... (2 Replies)
Hi,
I am trying to execute a bunch of piped command which are stored in a variable, but only one command executed at a time, and rest of the pipes, commands and their arguments are considered as argument to the very first command.
Can you please help me in this?
bash-2.05$ cat test.sh... (1 Reply)
Hello everyone!
I am having an issue with a script I am trying to create.
I have an input file (named sort_$1.txt) like:
aaaa
bbbb
cccc
dddd
eeee
and I process it with the following code:
while read -r EachLine2
do (11 Replies)
Hi,
i am having one text file it contains some blank lines and i want to ignore that blank lines .
#! /bin/bash
clear
rdCount=0;
while read myline
do
echo $myline
let rdCount=$rdCount+1
done < ps.txt
echo "Total line=$rdCount"
and ps .txt contains the data- (17 Replies)
Hello, could you please help with this one. I have an input file like this:
123,4567,89000
123456789,9876543,12
and for the output I need strings to be with the fixed length, let's say 15, and if the string is -lt 15 to be populated with blanks at the end until it reach 15, like this:
123 ,4567... (1 Reply)
Hello All,
Maybe I'm Missing something here but I have NOOO idea what the heck is going on with this....?
I have a Variable that contains a PATTERN of what I'm considering "Illegal Characters". So what I'm doing is looping
through a string containing some of these "Illegal Characters". Now... (5 Replies)
Hi All,
I have a file which has hundred of records with fixed number of fields. In each record there is set of 8 characters which represent the duration of that activity. I want to sum up the duration present in all the records for a report. The problem is the duration changes per record so I... (5 Replies)
Hi,
I would like use the output of my cut command as a variable in my following awk command. Here's what I've written.
cut -f1 info.txt | awk -v i=xargs -F'' '{if($6 == $i) print $20}' summary.txt
Where obviously the 'xargs' doesn't do what I want. How can I pass my cut result to my awk... (3 Replies)
Discussion started by: heyooo
3 Replies
LEARN ABOUT DEBIAN
surfraw-update-path
SURFRAW-UPDATE-PATH(1) User Contributed Perl Documentation SURFRAW-UPDATE-PATH(1)NAME
surfraw-update-path - updates PATH in shell config files
SYNOPSIS
surfraw-update-path [-add] [-remove] [-check] [-sys] [-all] [-help] [-shell=SHELL]
DESCRIPTION
surfraw-update-path adds the surfraw elvi directory (/usr/lib/surfraw) to your PATH in your shell's config file.
Currently it supports bash, sh, csh, tcsh, ash, dash, ksh, pdksh, zsh, rc, and es
Don't forget to login again or source your login files for it to take effect.
OPTIONS -check
Checks to see if the surfraw config code is present. This is the default.
-add
Adds the surfraw config code.
-remove
Removes the surfraw config code
-sys
Updates the system-wide shell config instead of the user. Must be done as root.
-shell=SHELL
Selects the shell to configure. Defaults to the value of the $SHELL environment variable.
Currently supported shells are:
sh, ash, bash, dash, csh, tcsh, ksh, pdksh, zsh, rc, and es.
-all
Attempts to configure the startup files for all known shells
-help
Gives a usage message
RETURN VALUE -check returns 0 if the surfraw code is present in the file, 1 if it is not found, or 2 on error.
All other options return 0 on success, or 2 on error.
ENVIRONMENT
SHELL
Used to determine which shell to configure, if -shell is not given.
HOME
Used to find users config files.
ENV Used by posix-compliant shells to specify a startup rc file.
ZDOTDIR
Used to find user config files for zsh. If not set, defaults to HOME.
SEE ALSO surfraw(1), sh(1), ash(1), bash(1), dash(1), csh(1), tcsh(1), ksh(1), pdksh(1), zsh(1), rc(1), es(1)AUTHOR
Ian Beckwith <ianb@erislabs.net>
perl v5.12.4 2011-07-12 SURFRAW-UPDATE-PATH(1)