Behaviour of pwd command in sh and ksh


 
Thread Tools Search this Thread
Top Forums Shell Programming and Scripting Behaviour of pwd command in sh and ksh
# 1  
Old 07-10-2013
Behaviour of pwd command in sh and ksh

I have a script as below.

Code:
 
bash-3.00$ cat test.sh
#!/usr/bin/ksh
path=`pwd`
echo $path
var=$path/temp11
echo $var

If run it is giving output

Code:
 
bash-3.00$ ksh test.sh
//var/tmp/SB2/miscellaneous
//var/tmp/SB2/miscellaneous/temp11

If run it in sh instead of ksh, output is

Code:
 
bash-3.00$ sh test.sh
/var/tmp/SB2/miscellaneous
/var/tmp/SB2/miscellaneous/temp11

Can anybody tell me what is the problem here.
# 2  
Old 07-10-2013
Quote:
Originally Posted by millan
I have a script as below.

Code:
 
bash-3.00$ cat test.sh
#!/usr/bin/ksh
path=`pwd`
echo $path
var=$path/temp11
echo $var

If run it is giving output

Code:
 
bash-3.00$ ksh test.sh
//var/tmp/SB2/miscellaneous
//var/tmp/SB2/miscellaneous/temp11

If run it in sh instead of ksh, output is

Code:
 
bash-3.00$ sh test.sh
/var/tmp/SB2/miscellaneous
/var/tmp/SB2/miscellaneous/temp11

Can anybody tell me what is the problem here.
I have never seen this in any Korn shell I've used (and I've used many versions).

What OS are you using (uname -a) and what version of ksh are you using (ksh --version)?

Note, however, that unless you're using an OS that treats //xxx as a reference to machine xxx on your local network, the extra leading / won't have any adverse effects.

If you change the script to:
Code:
#!/usr/bin/ksh
echo "$PWD"
var="$PWD/temp11"
echo "$var"

does it do the same thing?
# 3  
Old 07-10-2013
Make sure nobody aliased 'pwd' !
# 4  
Old 07-11-2013
# 5  
Old 07-11-2013
I got below output for the OS and ksh version.

Code:
 
bash-3.00$ uname -a
SunOS OSLCOE04.capgemini.com 5.10 Generic_144488-02 sun4v sparc SUNW,Sun-Fire-T200
bash-3.00$ ksh --version
$

And also tested below codes..doing same i mean in ksh it is giving //

Code:
#!/usr/bin/ksh
echo "$PWD"
var="$PWD/temp11"
echo "$var"


Last edited by millan; 07-11-2013 at 07:29 AM.. Reason: adding the result
# 6  
Old 07-16-2013
I get my ksh version with escape ^V: $ Version 11/16/88

You might try dtksh in the CDE bin -- it's ksh-93 plus X goodies. Mine is: $ Version M-12/28/93d

I find that sh behavior very buggish!
Login or Register to Ask a Question

Previous Thread | Next Thread

10 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

Help with 'pwd' command

Dear all, I am trying to use 'pwd' command in following way. current_directory == /dirA/dirB/test/dirC if ; then do this fi I am not sure how to pass this in command way. Please help! thanking you, emily (10 Replies)
Discussion started by: emily
10 Replies

2. Shell Programming and Scripting

Making use of PWD command in the code

Hi all, Need some help in the following code. (Running this code at cygwin in windows vista) cat /home/ebanpan/Input_Logs/*.log > /home/ebanpan/Input_Logs/input.log sed '/^Total/d;/^Bye/d;/^Output has been logged/d' /home/ebanpan/Input_Logs/input.log > /home/ebanpan/output.log this code... (6 Replies)
Discussion started by: bansalpankaj88
6 Replies

3. Shell Programming and Scripting

different behaviour for ksh and ksh -x

I'm getting different behaviour when executing below script in debug option. $ cat ss.ksh ff=$(pwd) echo " ff : $ff" $ ksh ss.ksh ff : /tmp $ ksh -x ss.ksh + + pwd ff= + echo ff : ff : I was getting this behaviour in my actuall script i'm able to reproduce this in simple script... (4 Replies)
Discussion started by: luckybalaji
4 Replies

4. Shell Programming and Scripting

KSH: Confused with behaviour of exit

Hi Everyone, I am confused on why the below snippet of code is not working as I intend it to do. I have googled and confirmed that "exit" is supposed to abort the execution of the script regardless if the exit was called from inside a function, or the main body of the script. log_and_die() { ... (3 Replies)
Discussion started by: maddmaster
3 Replies

5. AIX

sync samba pwd with aix5.3 pwd

currently, my samba login works just fine. i want my clients to use aix5.3 account to login to samba so they don't have to change samba pwd and aix pwd. i googled, and vi /usr/lib/smb.conf per some of knowledge base, but i could not get to work. aix5.3 and samba 3.0.24.0 thanks in advace..... (2 Replies)
Discussion started by: tjmannonline
2 Replies

6. UNIX for Dummies Questions & Answers

PWD COMMAND

Hi, Can you tell me if there is a command such as pwd which does not give me the absolute NFS pathname i.e. it starts with .autofs? At the moment on the unix when I use the 'pwd' command it always gives me the nfs pathname rather thanthe local pathname of which is what i want, is there an... (4 Replies)
Discussion started by: cyberfrog
4 Replies

7. UNIX for Dummies Questions & Answers

COMMAND sed AND pwd

Hi, I should replace the string DIR_ZERO in the file FILE_OLD with the current directory path in FILE_NEW by using something like this: sed "s/DIR_ZERO/'$(pwd)'/" FILE_OLD > FILE_NEW but it doesn't work and I don't understand why...:confused: Thanks in advance!!! Giordano Bruno (2 Replies)
Discussion started by: Giordano Bruno
2 Replies

8. UNIX for Advanced & Expert Users

Strange KSH behaviour - any comments?

As you are probably aware, $# indicates the number of parameters passed into a korn shell script. But this appears to hang around for sunsequent runs...???? A simple script:- #!/usr/bin/ksh echo "#parameters $#" echo "\$1 $1" echo "\$2 $2" I run the script with 0 parameters (all fine) #... (7 Replies)
Discussion started by: gsw_aix
7 Replies

9. UNIX for Dummies Questions & Answers

Longer commands and strange behaviour on ksh

Hi, I was trying to customize this archaic HP-UX box. only shell available is ksh and that too seems to be pretty old and doesn't completely conform to what I read on the web about ksh. Anyway here are my issues: - I wanted to have a dynamic title on xterm or dtterm. I put the following lines... (2 Replies)
Discussion started by: anurags
2 Replies

10. UNIX for Dummies Questions & Answers

pwd: A specified flag is not valid for this command.

Probably a very straight forward question but please be easy on me, I am v. new to UNIX! A script that I have runs the line tmp=`pwd -H` It works fine, but I needed to make a couple of other changes to the script, nowhere near this line but now this line reports: pwd: A specified flag... (2 Replies)
Discussion started by: Paxton
2 Replies
Login or Register to Ask a Question