Precedence in operators issue


 
Thread Tools Search this Thread
Top Forums Shell Programming and Scripting Precedence in operators issue
# 1  
Old 03-14-2011
Data Precedence in operators issue

Hello,
I am trying to write a small acript to change directory to $HOME depending on the user logged in. However when i provide this command
say,

ABC_USER=myself
cd ~${ABC_USER} i am getting the following error,

ksh: ~myself: not found

I know i am doing something really silly but not able to figure out what it is. I know i could get the value of the home directory by doing a grep on /etc/passed file but i think it is not a good solution.

Can anyone help or have encountered this issue before? I am thinking this issue is one of precedence where "~" is evaluated before the "$".

Anyone??
# 2  
Old 03-14-2011
It works for me...if the user is in /etc/passwd...
Code:
$
$ ABC=mail
$ grep mail /etc/passwd
mail:x:8:12:mail:/var/spool/mail:/sbin/nologin
mailnull:x:47:47::/var/spool/mqueue:/sbin/nologin
$ cd ~${ABC}
$ pwd
/var/spool/mail
$
$ ABC=fubar
$ cd ~${ABC}
ksh: cd: ~fubar: [No such file or directory]
$

# 3  
Old 03-14-2011
Thanks for your quick reply Perdarabo.

I am using /bin/ksh . Could it be it does not work in that shell?

echo $SHELL. Can you tell me what shell you are using?
# 4  
Old 03-14-2011
I'm using ksh just like you. Look closely in my post toward the bottom. The shell id'ed itself in the error message. My OS was RedHat 5.
# 5  
Old 03-14-2011
Thanks .. i fixed it by grepping the path from /etc/password and changing it to that location. However the below approach did not work for me on HPUX 11.23
Login or Register to Ask a Question

Previous Thread | Next Thread

9 More Discussions You Might Find Interesting

1. UNIX for Dummies Questions & Answers

What should be precedence of using awk, sed, head and tail in UNIX?

Hi All, I am new to unix. In this forum some days back, I have read something like below: 1) Do not use perl if awk can do your work. 2) Do not use awk if sed can do your work. . . . I do not re-collect the whole thing. I think it is good to know the precedence of using these... (2 Replies)
Discussion started by: Prathmesh
2 Replies

2. UNIX for Dummies Questions & Answers

issue with multiple logical operators

Hi, shell is /bin/ksh I am trying to do the following in my code.. but its showing me an error if ] && ] ]]; then echo "id is $ida and chk_dy is $chk_dy" fi the error I get is syntax error at line 23 : `"$ida"' unexpected I need to execute the... (2 Replies)
Discussion started by: nss280
2 Replies

3. Homework & Coursework Questions

Operators

I really don't know the meaning of these operators. Could someone explain the meanings? <, <=, ==, !=, >=, >, ||, &&, ! ~ , !~ Thanks! (1 Reply)
Discussion started by: Erjen
1 Replies

4. Shell Programming and Scripting

Operators

I really don't know the meaning of these operators. Could someone explain the meanings so I can make my test for today? <, <=, ==, !=, >=, >, ||, &&, ! ~ , !~ Thanks! (1 Reply)
Discussion started by: Erjen
1 Replies

5. Programming

Makefile -> pc precedence over c

Hi All, I have created a common makefile that compiles both pc and c files. i have created the dependency between the files as .pc.o: ----------- .c.o: ----------- I will be deleting the .c files created from the .pc files, once the object file is created. ( better storage... (7 Replies)
Discussion started by: quintet
7 Replies

6. UNIX for Dummies Questions & Answers

Operators

I am trying to understand Does the following: {tmp+=$10} Mean take $10 and add them all up and call it tmp thanks! (2 Replies)
Discussion started by: llsmr777
2 Replies

7. Shell Programming and Scripting

setting precedence with getopts

Hi, I am re-writing a script I wrote which emulated the "rm" command, in my orginal script I had problems with precedence, I did find a way round it by creating a seperate case statements which checked the options and performed the actions accordingly, does anyone know if I can use getopts... (1 Reply)
Discussion started by: jack1981
1 Replies

8. Shell Programming and Scripting

precedence of stderr and stdout

#!/usr/bin/perl open(STDOUT, ">>$Textfile") open(STDERR, ">>$Textfile") print "program running\n"; $final = join("+", $initial,$final) #5 close (STDOUT); close (STDERR);Hi all, above is my perl code. Notice i have captured the stdout and stderr to the same textfile. my code is expected to... (1 Reply)
Discussion started by: new2ss
1 Replies

9. Programming

EOF & precedence of !=

Gurus, I am teaching myself C and have a question. I wrote a small prog that reads characters as entered at the prompt and checks the value for EOF. Unless I am 100% wrong, the value will be '1' until getchar() has anything to read in my stream. /* PROG 1 */ #include <stdio.h> ... (4 Replies)
Discussion started by: alan
4 Replies
Login or Register to Ask a Question