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 OPENDARWIN
times
times(1) User Commands times(1)
NAME
times - shell built-in function to report time usages of the current shell
SYNOPSIS
sh
times
ksh
times
DESCRIPTION
sh
Print the accumulated user and system times for processes run from the shell.
ksh
Print the accumulated user and system times for the shell and for processes run from the shell.
On this man page, ksh(1) commands that are preceded by one or two * (asterisks) are treated specially in the following ways:
1. Variable assignment lists preceding the command remain in effect when the command completes.
2. I/O redirections are processed after variable assignments.
3. Errors cause a script that contains them to abort.
4. Words, following a command preceded by ** that are in the format of a variable assignment, are expanded with the same rules as a vari-
able assignment. This means that tilde substitution is performed after the = sign and word splitting and file name generation are not
performed.
ATTRIBUTES
See attributes(5) for descriptions of the following attributes:
+-----------------------------+-----------------------------+
| ATTRIBUTE TYPE | ATTRIBUTE VALUE |
+-----------------------------+-----------------------------+
|Availability |SUNWcsu |
+-----------------------------+-----------------------------+
SEE ALSO
ksh(1), sh(1), time(1), attributes(5)
SunOS 5.10 15 Apr 1994 times(1)