12-14-2007
How can I parse a record found in /etc/passwd into variables?
I am working with the Oracle 10.2.0.3 job scheduler on Solaris 10, and unfortunately, the scheduler executes scripts in such a way that several default shell environment variables are not defined. For example, $HOME, $USER, and $LOGNAME are missing.
How can I parse the appropriate record in /etc/passwd into the above variables? For example, when the output from "grep oracle /etc/passwd" is:
oracle:x:100:1978::/usr/oracle:/bin/ksh
I need to parse the information so that I can manually export the following variables:
export HOME=/usr/oracle
export USER=oracle
export LOGNAME=oracle
I'm looking for something generic that will enable me to search for any record in /etc/passwd and parse it properly.
Thanks,
J
10 More Discussions You Might Find Interesting
1. Shell Programming and Scripting
Do you know of any methods where I can send an input of passwords into the passwd command? For instance, I have a file which has the password stored and I want it to be sent into this command "passwd gilberteu" when it prompts for the new password and subsequently confirming the password that was... (0 Replies)
Discussion started by: gilberteu
0 Replies
2. Shell Programming and Scripting
I'm working in korn shell and have a variable which contains a string like:
aa_yyyymmdd_bbb_ccc_ddd.abc. I want to treat the _ and . as delimiters and parse the string so I end up with 6 values in variables that I can manipulate. My original plan was to use
var1=`echo $sting1 | cut -c1-c2` but... (9 Replies)
Discussion started by: aquimby
9 Replies
3. Shell Programming and Scripting
Hi Guys,
I am new to unix scripting and I am tasked to parse through a CSV file delimited by #.
Sample:
sample.csv
H#A#B#C
D#A#B#C
T#A#B#C
H = Header
D = Detail Record
T = Tail
What I need is to read the file and parse through it to get the columns.
I have no idea on how... (8 Replies)
Discussion started by: 3vilwyatt
8 Replies
4. Shell Programming and Scripting
Trying to finish up my script that automates some video encoding work.
Situation: There is an MKV file to be transcoded.
Problem: MKVINFO will give a bunch of output about an MKV file, included in that output are two lines I am interested in:
| + Default duration: 41.708ms (23.976 fps... (9 Replies)
Discussion started by: randyharris
9 Replies
5. UNIX for Dummies Questions & Answers
Hello
I need to pass some environment parameters to a datastage job and am getting an error when trying to send the complete concatinated variable. I have decided to parse out just the values and send as parameters but am struggling to find the best way to do this (actually I am not very... (3 Replies)
Discussion started by: LynnC
3 Replies
6. Shell Programming and Scripting
Hello!. I am working on a very simple program and I have been trying different things. This is so far what I have done and there is one small detail that still does not work. It finds all the records in a phonebook per say:
./rem Susan
More than one match; Please select the one to remove: ... (3 Replies)
Discussion started by: bartsimpsong
3 Replies
7. Shell Programming and Scripting
The script must ask the user to enter the user name and check whether the user exists in /etc/passwd (you must allow the partial usernames also). If the username exists, display the details as:
List of users
Login Name:
User ID:
... (3 Replies)
Discussion started by: nobletechnology
3 Replies
8. Linux
Hi there, would appreciate some help on this parsing problem if anybody can help
im trying to parse a variable with the following output, each of the values im trying to parse are deliminated by a ;
T192... (8 Replies)
Discussion started by: scottish_jason
8 Replies
9. Shell Programming and Scripting
Hi All,
#include <iostream> int main() {
std::int foo = 34;
system("mkdir /home/linuxUser/fooDir");
system("vi fooFile")
system("write foo in fooFile")
foo = 43;
foo = read foo from fooFile;
std::cout << "foo = " << foo ; }
result should be
foo = 34
can... (3 Replies)
Discussion started by: linuxUser_
3 Replies
10. Shell Programming and Scripting
Hi,
i have another problem. I have been trying to solve it by myself but failed.
inputfile
;;
ID T08578
NAME T08578
SBASE 30696
EBASE 32083
TYPE P
func just test
func chronology
func cholesterol
func null
INT 30765-37333
INT 37154-37318
Link 5546
Link 8142 (4 Replies)
Discussion started by: redse171
4 Replies
LEARN ABOUT DEBIAN
bbhostgrep
BBHOSTGREP(1) General Commands Manual BBHOSTGREP(1)
NAME
bbhostgrep - pick out lines in bb-hosts
SYNOPSIS
bbhostgrep --help
bbhostgrep --version
bbhostgrep [--noextras] [--test-untagged] [--bbdisp] [--bbnet] TAG [TAG...]
DESCRIPTION
bbhostgrep(1) is for use by extension scripts that need to pick out the entries in a bb-hosts file that are relevant to the script.
The utility accepts test names as parameters, and will then parse the bb-hosts file and print out the host entries that have at least one
of the wanted tests specified. Tags may be given with a trailing asterisk '*', e.g. "bbhostgrep http*" is needed to find all http and https
tags.
The bbhostgrep utility supports the use of "include" directives inside the bb-hosts file, and will find matching tags in all included
files.
If the DOWNTIME or SLA tags are used in the bb-hosts(5) file, these are interpreted relative to the current time. bbhostgrep then outputs
a "INSIDESLA" or "OUTSIDESLA" tag for easier use by scripts that want to check if the current time is inside or outside the expected uptime
window.
OPTIONS
--noextras
Remove the "testip", "dialup", "INSIDESLA" and "OUTSIDESLA" tags from the output.
--test-untagged
When using the BBLOCATION environment variable to test only hosts on a particular network segment, bbtest-net will ignore hosts that
do not have any "NET:x" tag. So only hosts that have a NET:$BBLOCATION tag will be tested.
With this option, hosts with no NET: tag are included in the test, so that all hosts that either have a matching NET: tag, or no
NET: tag at all are tested.
--no-down[=TESTNAME]
bbhostgrep will query the Xymon server for the current status of the "conn" test, and if TESTNAME is specified also for the current
state of the specified test. If the status of the "conn" test for a host is non-green, or the status of the TESTNAME test is dis-
abled, then this host is ignored and will not be included in the output. This can be used to ignore hosts that are down, or hosts
where the custom test is disabled.
--bbdisp
Search the bb-hosts file following include statements as a BBDISPLAY server would.
--bbnet
Search the bb-hosts file following include statements as a BBNET server would.
EXAMPLE
If your bb-hosts file looks like this
192.168.1.1 www.test.com # ftp telnet !oracle
192.168.1.2 db1.test.com # oracle
192.168.1.3 mail.test.com # smtp
and you have a custom Xymon extension script that performs the "oracle" test, then running "bbhostgrep oracle" would yield
192.168.1.1 www.test.com # !oracle
192.168.1.2 db1.test.com # oracle
so the script can quickly find the hosts that are of interest.
Note that the reverse-test modifier - "!oracle" - is included in the output; this also applies to the other test modifiers defined by Xymon
(the dialup and always-true modifiers).
If your extension scripts use more than one tag, just list all of the interesting tags on the command line.
bbhostgrep also supports the "NET:location" tag used by bbtest-net, so if your script performs network checks then it will see only the
hosts that are relevant for the test location that the script currently executes on.
USE IN EXTENSION SCRIPTS
To integrate bbhostgrep into an existing script, look for the line in the script that grep's in the $BBHOSTS file. Typically it will look
somewhat like this:
$GREP -i "^[0-9].*#.*TESTNAME" $BBHOSTS | ... code to handle test
Instead of the grep, we will use bbhostgrep. It then becomes
$BBHOME/bin/bbhostgrep TESTNAME | ... code to handle test
which is simpler, less error-prone and more efficient.
ENVIRONMENT VARIABLES
BBLOCATION
If set, bbhostgrep outputs only lines from bb-hosts that have a matching NET:$BBLOCATION setting.
BBHOSTS
Filename for the Xymon bb-hosts(5) file.
FILES
$BBHOSTS
The Xymon bb-hosts file
SEE ALSO
bb-hosts(5), hobbitserver.cfg(5)
Xymon Version 4.2.3: 4 Feb 2009 BBHOSTGREP(1)