01-23-2009
Script giving different result on Linux compared to Unix
Hi
I have a script executing fine in Unix but in linux I am getting different result.
I have three files under /local/home/temp/Gen
test.sh
list.txt
shst.txt
Contents of test.sh
--------------------------
#!/bin/ksh
K=0;
SCRIPT_DIR=/local/home/temp/Gen
cat $SCRIPT_DIR/test/list.txt | while read WRDLST
do
set -A STAT `cat $SCRIPT_DIR/test/shst.txt | grep $WRDLST | awk '{print $2}'`
OUTBSTAT[$K]=${STAT[0]}
echo "OUTBSTAT[$K]=${OUTBSTAT[$K]}"
K=`expr $K + 1 `
done
K=0
while [ $K -ne 3 ]
do
echo " OUTBSTAT[$K]=${OUTBSTAT[$K]}"
K=`expr $K + 1`
done
------------------------------------------------------
Content of list.txt
----------
abc
xyz
lmn
----------
Content of shst.txt
---------------------
abc 1000
xyz 1001
lmn 1002
----------------------
When I run test.sh on a linux machine I get below result
OUTBSTAT[0]=1000
OUTBSTAT[1]=1001
OUTBSTAT[2]=1002
OUTBSTAT[0]=
OUTBSTAT[1]=
OUTBSTAT[2]=
When I run same on unix machine I get below proper result
OUTBSTAT[0]=1000
OUTBSTAT[1]=1001
OUTBSTAT[2]=1002
OUTBSTAT[0]=1000
OUTBSTAT[1]=1001
OUTBSTAT[2]=1002
what changes need to be done to the test.sh to get same above results in Linux too ?
Please help
10 More Discussions You Might Find Interesting
1. Shell Programming and Scripting
Hi,
I am new to shell scripting and my below script is not giving result for 2 or more arguments. Can anyone help pls.
#!/bin/sh
sname=$(basename $(readlink -nf $0))
echo "This is $sname, running at $(date)"
echo "It is running on $(hostname)"
echo "Script being run by"
echo " User... (3 Replies)
Discussion started by: baigmd
3 Replies
2. Programming
I have five classes. 2 composition classes,1 aggregation class and 1 dependency class.I have coded all the classes but one of my test program is not giving me the expected result.I have the following classes:
TimeStamp
Interval (composition of 2 TimeStamps)
TimeSheet ( aggregation of many... (3 Replies)
Discussion started by: moraks007
3 Replies
3. Red Hat
Hi folks,
I am facing issue of my system (host1) getting hanged after throwing following ntpd messages. I am not able to ssh to the server there after. only option is to restart the host:
Dec 29 02:58:51 host1 ntpd: time reset -0.207907 s
Dec 29 02:58:51 host1 ntpd: synchronisation lost
Dec 29... (0 Replies)
Discussion started by: SiddhV
0 Replies
4. Shell Programming and Scripting
Why does $0 return the word usage rather than the script name when used in a function?
Baffeled on this one, any help appreciated.
usage()
{
echo "$0 -cs <number of batches>\n"
echo "$0 -c 4"
echo "$0 -s 4"
# echo "-c = Create"
# echo "-s = Submit\n"
exit 1
}
$... (1 Reply)
Discussion started by: nhatch
1 Replies
5. AIX
my system get rebooted by its self after its came up i try to check the error log
P690/>errpt | more
Cannot open error message catalog /usr/lib/nls/msg/en_US/codepoint.cat.
The error report will still run, but it will not have explanatory messages
P690/>ls -lrt... (1 Reply)
Discussion started by: thecobra151
1 Replies
6. Shell Programming and Scripting
Hi,
I need to copy files from a source directory to a destination directory in unix.
I'm using the file::copy for the actual copy.
The problem is that the source and dest directories are supplied by different users, who might type the name of the directories in various combinations of lower... (6 Replies)
Discussion started by: Furou
6 Replies
7. Shell Programming and Scripting
Hi Guys,
I am developing a script to monitor GUI based FileNet Component "Component Manager" which logs it's running status in a log file.
Log file is a huge file so in script I put last 300 lines of log file in seperate file and run script every 5 minutes.
I am searching the string... (2 Replies)
Discussion started by: dhirajdsharma
2 Replies
8. Red Hat
Hello All,
We have a jave server running on both linux and Solaris environments.
On solaris,it consumes only 600-700MB whereas it goes upto 21G in Linux.
I am monitoring the memory consumption through top command.
Is this high memory consumption expected in Linux? (1 Reply)
Discussion started by: prasperl
1 Replies
9. Shell Programming and Scripting
Hello,
I am running below command as root user
#nodetool cfstats tests | grep "Memtable switch count"
Memtable switch count: 12
Where as when I try to run same command as another user it gives different result.
#su -l zabbix -s /bin/bash -c "nodetool cfstats tests | grep "Memtable switch... (10 Replies)
Discussion started by: Pushpraj
10 Replies
10. Shell Programming and Scripting
Hi,
i have a source file and have 3 columns and separated by "|" .i want to split this 3 columns in different variable.When i am executing this values indivisually giving correct result but when the same execute inside a for loop,it's giving issues.
Src file(jjj.txt)
-------... (8 Replies)
Discussion started by: raju2016
8 Replies
LEARN ABOUT FREEBSD
xo_close_instance
LIBXO(3) BSD Library Functions Manual LIBXO(3)
NAME
xo_emit -- emit formatted output based on format string and arguments
LIBRARY
library ``libxo''
SYNOPSIS
#include <libxo/xo.h>
LIBXO(3) BSD Library Functions Manual LIBXO(3)
NAME
xo_open_list
xo_open_list_h
xo_open_list_hd
xo_open_list_d
xo_open_instance
xo_open_instance_h
xo_open_instance_hd
xo_open_instance_d
xo_close_instance
xo_close_instance_h
xo_close_instance_hd
xo_close_instance_d
xo_close_list
xo_close_list_h
xo_close_list_hd
xo_close_list_d -- open and close lists and instances
LIBRARY
library ``libxo''
SYNOPSIS
int
xo_open_list_h(xo_handle_t *xop, const char *name);
int
xo_open_list(const char *name);
int
xo_open_list_hd(xo_handle_t *xop, const char *name);
int
xo_open_list_d(const char *name);
int
xo_open_instance_h(xo_handle_t *xop, const char *name);
int
xo_open_instance(const char *name);
int
xo_open_instance_hd(xo_handle_t *xop, const char *name);
int
xo_open_instance_d(const char *name);
int
xo_close_instance_h(xo_handle_t *xop, const char *name);
int
xo_close_instance(const char *name);
int
xo_close_instance_hd(xo_handle_t *xop);
int
xo_close_instance_d(void);
int
xo_close_list_h(xo_handle_t *xop, const char *name);
int
xo_close_list(const char *name);
int
xo_close_list_hd(xo_handle_t *xop);
int
xo_close_list_d(void);
DESCRIPTION
Lists are sequences of instances of homogeneous data objects. Two distinct levels of calls are needed to represent them in our output
styles. Calls must be made to open and close a list, and for each instance of data in that list, calls must be make to open and close that
instance.
The name given to all calls must be identical, and it is strongly suggested that the name be singular, not plural, as a matter of style and
usage expectations.
A list is a set of one or more instances that appear under the same parent. The instances contain details about a specific object. One can
think of instances as objects or records. A call is needed to open and close the list, while a distinct call is needed to open and close
each instance of the list:
xo_open_list("item");
for (ip = list; ip->i_title; ip++) {
xo_open_instance("item");
xo_emit("{L:Item} '{:name/%s}':0, ip->i_title);
xo_close_instance("item");
}
xo_close_list("item");
Getting the list and instance calls correct is critical to the proper generation of XML and JSON data.
EXAMPLE:
xo_open_list("user");
for (i = 0; i < num_users; i++) {
xo_open_instance("user");
xo_emit("{k:name}:{:uid/%u}:{:gid/%u}:{:home}0,
pw[i].pw_name, pw[i].pw_uid,
pw[i].pw_gid, pw[i].pw_dir);
xo_close_instance("user");
}
xo_close_list("user");
TEXT:
phil:1001:1001:/home/phil
pallavi:1002:1002:/home/pallavi
XML:
<user>
<name>phil</name>
<uid>1001</uid>
<gid>1001</gid>
<home>/home/phil</home>
</user>
<user>
<name>pallavi</name>
<uid>1002</uid>
<gid>1002</gid>
<home>/home/pallavi</home>
</user>
JSON:
user: [
{
"name": "phil",
"uid": 1001,
"gid": 1001,
"home": "/home/phil",
},
{
"name": "pallavi",
"uid": 1002,
"gid": 1002,
"home": "/home/pallavi",
}
]
LEAF LISTS
In contrast to a list of instances, a "leaf list" is list of simple values. To emit a leaf list, call the xo_emit() function using the ""l""
modifier:
for (ip = list; ip->i_title; ip++) {
xo_emit("{Lwc:Item}{l:item}0, ip->i_title);
}
The name of the field must match the name of the leaf list.
In JSON, leaf lists are rendered as arrays of values. In XML, they are rendered as multiple leaf elements.
JSON:
"item": "hammer", "nail"
XML:
<item>hammer</item>
<item>nail</item>
ADDITIONAL DOCUMENTATION
Complete documentation can be found on github:
http://juniper.github.io/libxo/libxo-manual.html
libxo lives on github as:
https://github.com/Juniper/libxo
The latest release of libxo is available at:
https://github.com/Juniper/libxo/releases
SEE ALSO
xo_emit(3)
HISTORY
The libxo library was added in FreeBSD 11.0.
AUTHOR
Phil Shafer
BSD
December 4, 2014 BSD