02-06-2018
Because the while block is fed by a pipe, it is run in a sub shell.
The sub shell inherits (gets copied) variables from the main shell, but not vice versa.
Only the ksh (and true derivatives- not mksh!) runs the last part of a pipe in the main shell.
So you can run your script with ksh.scriptname, or change the shebang to #!/bin/ksh.
If you want to stay with bash, you must recode your script.
This User Gave Thanks to MadeInGermany For This Post:
10 More Discussions You Might Find Interesting
1. UNIX for Dummies Questions & Answers
Hi
I am doing a script like
if
then
echo "table name dosent exist"
exit
fi
the problem is if $table_name is null then i am getting the error
Please help me
Thanks in advance (2 Replies)
Discussion started by: ssuresh1999
2 Replies
2. Shell Programming and Scripting
hi
i am trying to compare a value with value 50. but i am getting
"
I am using
if
then
echo "------------"
fi
please help
thanks in advance
Satya (2 Replies)
Discussion started by: Satyak
2 Replies
3. UNIX for Dummies Questions & Answers
HI,
while running a script, I got the below mentioned error.
/bin/sh: line10 : supportedMozillaVersion() {
case "$*" in
*rv:1.*) return 0;;
*rv:.*) return 0;;
*rv:*) return 1;;
Mozilla\ 1.*) return 0;;
Mozilla\ .*) return 0;;
*) return 1;;
esac
}
supportedFirefoxVersion() {
case... (7 Replies)
Discussion started by: bhag281
7 Replies
4. Shell Programming and Scripting
Im trying to fix my /etc/weekly that rotates various logs however it does them no matter what filesize they are and i want them to only do it if there file size exceeds 2M or something. So I'm playing with a script to get the filesize using a ls -l command which works and puts the value into a... (3 Replies)
Discussion started by: timgolding
3 Replies
5. Shell Programming and Scripting
Hello all, :confused:
I am not getting this error.
Pls help me.
./construct_operon.sh: line 5:
#!/bin/bash
# Construct Operons using gene pairs.
rm -rf operons_result
lines=`awk 'END {print NR}' ecoli_operons`
while ;
do
head -1 ecoli_operons | awk '{print $1"\n"$2}' > pattern
... (5 Replies)
Discussion started by: admax
5 Replies
6. UNIX for Dummies Questions & Answers
Why am I getting this error.... #!/bin/sh
# iOS-Ad-Remover
# Marshall Ford @ marshallbford@gmail.com
# This project is hosted @ http://ios-ad-
# remover.sourceforge.net
# Under the GNU GPL open source license
clear
echo
if ; then echo "You need to be root to run this script."; exit 0; #... (24 Replies)
Discussion started by: mbf123
24 Replies
7. Shell Programming and Scripting
i=0
while
Shell script reports an error "unary operator expected" pointing the above line.
$i by default is 0 and holds integer value and $buf is also holding integer value.
Please can some one let me know what is missing.
Thanks. (1 Reply)
Discussion started by: sunrexstar
1 Replies
8. UNIX for Dummies Questions & Answers
Hiya all,
Why do I get a :unary operator expected when I try to put a condition statement in my shell script (sh) like so and how to fix?
if ; then
echo "say hello"
else
echo "don't say hello"
fi
? It seems if the script receives an argument it works but if I don't put an... (4 Replies)
Discussion started by: cyberfrog
4 Replies
9. UNIX for Dummies Questions & Answers
Hi
I have problem with my script.
I dont now why but i don't change anything and script stop working.
this is my code:
#!/bin/sh
for i in `ps -A | grep pocron.sh | grep -v grep | awk '{print $2}'`
do
COUNT=$((COUNT+1))
done
ostatnie_wykonanie=`cat porader.log`... (1 Reply)
Discussion started by: fotex
1 Replies
10. Shell Programming and Scripting
In all my Googling, this usually happens when someone is comparing a variable, and that variable is unset. That doesn't appear to be the case for me...
#!/bin/bash -x
while read line
do
f=$(echo $line | tr -s ' ' | cut -d' ' -f 3)
echo $f
if
then
echo "This... (2 Replies)
Discussion started by: jnojr
2 Replies
LEARN ABOUT XFREE86
suspend
suspend(1) User Commands suspend(1)
NAME
suspend - shell built-in function to halt the current shell
SYNOPSIS
sh
suspend
csh
suspend
ksh
suspend
DESCRIPTION
sh
Stops the execution of the current shell (but not if it is the login shell).
csh
Stop the shell in its tracks, much as if it had been sent a stop signal with ^Z. This is most often used to stop shells started by su.
ksh
Stops the execution of the current shell (but not if it is the login shell).
ATTRIBUTES
See attributes(5) for descriptions of the following attributes:
+-----------------------------+-----------------------------+
| ATTRIBUTE TYPE | ATTRIBUTE VALUE |
+-----------------------------+-----------------------------+
|Availability |SUNWcsu |
+-----------------------------+-----------------------------+
SEE ALSO
csh(1), kill(1), ksh(1), sh(1), su(1M), attributes(5)
SunOS 5.10 15 Apr 1994 suspend(1)