bash problem


 
Thread Tools Search this Thread
Top Forums Shell Programming and Scripting bash problem
# 8  
Old 10-06-2009
Hi.

I tested this and it works.

Please provide the following:
  • The exact code you are running
  • ls -l of /var/opt/oracle/oratab2
  • cat of /var/opt/oracle/oratab2
  • echo $oraserver
  • The exact output when you run the code.
Thanks.
# 9  
Old 10-06-2009
oracle@testserver:/opt/dba/oraadmin/tools DEV$ cat /var/opt/oracle/oratab
#



# This file is used by ORACLE utilities. It is created by root.sh
# and updated by the Database Configuration Assistant when creating
# a database.

# A colon, ':', is used as the field terminator. A new line terminates
# the entry. Lines beginning with a pound sign, '#', are comments.
#
# Entries are of the form:
# $ORACLE_SID:$ORACLE_HOME:<N|Y>:
#
# The first and second fields are the system identifier and home
# directory of the database respectively. The third filed indicates
# to the dbstart utility that the database should , "Y", or should not,
# "N", be brought up at system boot time.
#
# Multiple entries with the same $ORACLE_SID are not allowed.
#
#
+ASM1:/opt/oracle/product/11.1.0/racasm:N
abc:/opt/oracle/product/11.1.0/racdb:N
def:/opt/oracle/product/11.1.0/racdb:N
ghi:/opt/oracle/product/11.1.0/racdb:N
jkl:/opt/oracle/product/10.2.0/racdb:N

orahome=$(awk -F: '$1 == "'$oraserver'" {print $2}' /var/opt/oracle/oratab2)
ORACLE_HOME=$orahome;export ORACLE_HOME

and it's returning ORACLE_HOME =''

I also tried like this ...



oracle@testserver:/opt/dba/oraadmin/tools DEV$ awk -F ":" '$1 == "'hmtrid1'" {print $2}' /var/opt/oracle/oratab

oracle@testserver:/opt/dba/oraadmin/tools DEV$

Thanks

---------- Post updated at 03:23 PM ---------- Previous update was at 03:23 PM ----------

it's working on KSH . I think u r testing it in ksh . Mine is bash .

Thanks
# 10  
Old 10-06-2009
Hi talashil.

I've just tried it (again) in bash and it works.

The only thing I've learnt here is that I'm adding bash to my list of shells that I actively dislike! Give me the nice ksh (vi) editing command-line ways anyday!

Here's what I did:

I created a file called oratab2, adding what you said:
Code:
+ASM1:/opt/oracle/product/11.1.0/racasm:N
abcd1:/opt/oracle/product/11.1.0/racdb:N
xyz1:/opt/oracle/product/11.1.0/racdb:N

I set the variable oraserver:
Code:
oraserver=+ASM1

I ran the awk statement:
Code:
awk -F: '$1 == "'$oraserver'" {print $2}' oratab2

I got the output:
Code:
/opt/oracle/product/11.1.0/racasm

This works in ksh and bash.

Last edited by Scott; 10-06-2009 at 05:55 PM.. Reason: actually, it's not true, I've never liked bash!
# 11  
Old 10-06-2009
Quote:
Originally Posted by scottn
The only thing I've learnt here is that I'm adding bash to my list of shells that I actively dislike! Give me the nice ksh (vi) editing command-line ways anyday!

If you really want tortured command-line editing, you can use "set -o vi" in bash, just as I can get an almost-usable command line in ksh with "set -o emacs".
# 12  
Old 10-06-2009
Quote:
Originally Posted by cfajohnson

If you really want tortured command-line editing, you can use "set -o vi" in bash, just as I can get an almost-usable command line in ksh with "set -o emacs".
I confess it was a cheap shot, and didn't add to the "knowledge base", but when you spend 90% of your life pressing escape-k, the up arrow just isn't where it needs to be when you need it!
# 13  
Old 10-06-2009
Quote:
Originally Posted by talashil
Nope . The awk solution is also not working.

Thanks
that should work fine... can you post the output you are getting.. and the version of awk/nawk/gawk you are using?
# 14  
Old 10-06-2009
Strange, here the script is working fine using ksh93, bash, dash(sh) and zsh
Login or Register to Ask a Question

Previous Thread | Next Thread

10 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

A bash problem

Hi, I'm fairly new to unix, and I have the following problem: I know that if I type, "ps -ef | grep process", this will return some information about the process named 'process'. What I need this to do is be piped to an extra search that pick's out process' PID. How do I do this? Thanks in... (5 Replies)
Discussion started by: bogof_tom
5 Replies

2. Shell Programming and Scripting

Problem With Bash Scripting

What's up guys, I am currently trying to figure out the answer to this question and I cannot for the life of me! The question is : "Explain how to do the following in UNIX/Linux shell script. You are not expected to remember the exact command syntax, but explain approximately how you would... (1 Reply)
Discussion started by: malikirl
1 Replies

3. Shell Programming and Scripting

zero padding problem (bash)

Hi there, I need to loop some values, for i in $(seq $first $last) do does something here donefor $first and $last, i need it to be of fixed length 5. so if the input is 1, i need to add zeros in front such that it becomes 00001. It loops till 99999 for example, but the length has to be... (4 Replies)
Discussion started by: jremio
4 Replies

4. Shell Programming and Scripting

Problem with bash if

Hi, i am making a little script that when its invoked with p or f, it will do different things (p will ask the user to input an string and it will count its words , and f will ask the user a directory and will list the number of files in that directory. But if wont get the comparation string... (1 Reply)
Discussion started by: lamachejo
1 Replies

5. Solaris

bash problem?

I am using SunOS 5.9 and have the following outcome when using the sh and bash shells; has anyone else had this: (tests behave differently) bash-2.05$ ksh $ if echo $SHELL; uname -a;; then echo yessssssssssssss; else echo nooooooooooooooo; fi SunOS s036cln001014 5.9 Generic_118558-27 sun4u... (4 Replies)
Discussion started by: Cliffcard
4 Replies

6. Shell Programming and Scripting

bash problem

hello i am new with linux hello unix forum. i have big problem i want to install the samp server for every user folder for ex.. samp for my frined name fred fredsamp then i want create more samp to my firend lee i want folder name will be leesamp i want to know how make the script put the... (0 Replies)
Discussion started by: mage200
0 Replies

7. Shell Programming and Scripting

bash problem with if

#!/bin/bash # This script takes two arguments: <path> and <dir>. It has to copy in <dir> #+ all regular files in <path> with .c extension containining at least one while #+ instruction and one if instruction. if then for file in $(ls "$1" | grep "\.c$") do if # doesn't... (9 Replies)
Discussion started by: Luke Bonham
9 Replies

8. Shell Programming and Scripting

problem about '..' in bash

There is an interview question about UNIX bash: Some shells like bash try to make '..' always work propery, namely, from home directory, cd ../$USER will place you in your home directory. Does bash always get this behavior correct? Anyway can provide any example that bash doesnt work well? ... (4 Replies)
Discussion started by: usfish
4 Replies

9. Shell Programming and Scripting

Bash problem

Hello there, I'm a beginner in bash programining and I have a problem with the interpretetion of the code: sed -e "s/\(*\):.*/\1/" in this for loop: for process in $(sed -e "s/\(*\):.*/\1/" /etc/passwd) thx for any help edgehead (3 Replies)
Discussion started by: edgehead
3 Replies

10. Shell Programming and Scripting

Bash while loop problem

Hi, I'm having a problem with the while loop in bash. I try the following script: #!/bin/bash while true do echo "test" done When I try this, it gives me this error: while: Too few arguments. What am I doing wrong? Thanks (5 Replies)
Discussion started by: Kweekwom
5 Replies
Login or Register to Ask a Question