Bash to ksh problem


 
Thread Tools Search this Thread
Top Forums Shell Programming and Scripting Bash to ksh problem
# 1  
Old 01-20-2013
Bash to ksh problem

Hi all

Below code works in bash but it is not working in ksh.

Code:
enddate=`date -d "$enddate + $i day" "+%Y_%m_%d"`

Please help me how it works in ksh

Thanks

Last edited by pmreddy; 01-21-2013 at 05:50 AM..
# 2  
Old 01-20-2013
Replace shebang #!/bin/bash to #!/bin/ksh -xv (set xtrace & verbose) and run the code to reveal lines that are not KSH compliant.

For example, I see you are using string search and replace which I guess is not supported in KSH.
Code:
startdate="${1//_/-}"  # change underscores into dashes

Use sed instead to perform search and replace.
# 3  
Old 01-20-2013
Quote:
Originally Posted by bipinajith
For example, I see you are using string search and replace which I guess is not supported in KSH.
ksh does support it. But only ksh93 versions.

@OP: Which ksh version are you using? Are you running this on some machine not having GNU date installed?
# 4  
Old 01-20-2013
I'd also replace the "echo"s with "print"s. "print" is a built-in command in ksh, while "echo" isn't.

What is equally ugly in ksh and in bash is this:

Code:
while [ 1 ]

It will work, but will use "test" to do so. Instead

Code:
while :

will do the same with less resources used.

I hope this helps.

bakunin
# 5  
Old 01-20-2013
@Bakunin, can you site a version of ksh where echo is not builtin?

I have 11/16/88, 12/28/93 and mksh 41 and it appears to be builtin in all of these.
# 6  
Old 01-20-2013
It might be built in but this is not required by the standard. The standard output command in ksh is "print" and if you use "echo" the shell executes "/bin/echo" if it is not built in. In the AIX ksh (a ksh88) this used to be so, but to be honest i haven't checked that lately.

bakunin
This User Gave Thanks to bakunin For This Post:
# 7  
Old 01-20-2013
Thanks, that might explain why a lot of the old AIX ksh scripts we have around here use print (I've always replaced them with echo or printf, whenever making updates - just because it's more portable).
Login or Register to Ask a Question

Previous Thread | Next Thread

10 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

BASH to KSH

I have a script in KSH and now need to incorporate this into another script which is in BASH. OUr script contains code like below in good number of places. Eg: echo “A B C” | read VAR1 VAR2 VAR3 This works only in ksh and not in BASH. Please let me know 1. Which is the equivalent... (3 Replies)
Discussion started by: cvsanthosh
3 Replies

2. Shell Programming and Scripting

ksh vs bash

what is diff between KSH and Bash can you tell me some commands which run in either of two but not in both. while doing normal shell programming I am unable to find diffrence between two (2 Replies)
Discussion started by: pasricha.kunal
2 Replies

3. Shell Programming and Scripting

Typeset conversion problem from ksh to bash

Hi, typeset -l sgf # all lowercase letters typeset -u SGF # all uppercase letters sgf=$1 SGF=$sgf these lines used in my scripts . It ran fine in ksh but when we convert this to bash it erroring out. I like to know what the use of typeset ?? Thanks & Regards kanagaraj (3 Replies)
Discussion started by: kanagaraj
3 Replies

4. UNIX for Dummies Questions & Answers

bash preferred or ksh with bash features

I'm a user on a fairly locked down sys V server. By default, I have ksh set as my default shell. I added to my .profile: bash -o vi so when I login, it goes into bash so I can take advantage of tab completion and use the up key to bring up previous commands. However, whenever I want to exit, I... (2 Replies)
Discussion started by: mrwatkin
2 Replies

5. Solaris

ksh vs bash

Hi, I've a general question regarding shell. I 've seen that every where i worked in production environment people are using ksh .. but i like to use .. bash .. is there any particular reason why hardcore sysadmins use ksh ? (8 Replies)
Discussion started by: fugitive
8 Replies

6. Shell Programming and Scripting

bash & Ksh loop problem

hi i was trying to optimize one script and i came across this problem .. i am putting some pseudo code here $ >cat a.sh ls | while read I do i=$(($i + 1)) done echo "total no of files : " $ >ksh a.sh total no of files : $ >bash a.sh total no of files : why is... (1 Reply)
Discussion started by: zedex
1 Replies

7. Shell Programming and Scripting

ksh to bash mode

Hi guys... I have a ksh shell by default, so when I login to my unix box, all my .profile statements gets executed(including the aliases). But for some reasons(may be not comfortable using ksh), I would always switch to BASH(in the same session but as a child process) but in the process I am... (16 Replies)
Discussion started by: anduzzi
16 Replies

8. Shell Programming and Scripting

bash and ksh: variable lost in loop in bash?

Hi, I use AIX (ksh) and Linux (bash) servers. I'm trying to do scripts to will run in both ksh and bash, and most of the time it works. But this time I don't get it in bash (I'm more familar in ksh). The goal of my script if to read a "config file" (like "ini" file), and make various report.... (2 Replies)
Discussion started by: estienne
2 Replies

9. Shell Programming and Scripting

Need help : KSH>BASH

Hello, I've written a script in KSH, but now it needs to run on a system without KSH, ie sh or bash etc, bash seems best bet, but the simplest of things don't seem to work.. The snippet below is the main issue, basically I'm reading from a dat file and putting fields into arrays.. Dat file... (5 Replies)
Discussion started by: itsupplies
5 Replies

10. Shell Programming and Scripting

Ksh vs Bash

Hi Buddy, Can any one help me to overcome from the below problem? #/usr/bin/ksh typeset -Z dd dd=1 echo $dd =========== out put for the above is 01 same script I'm migrating to bash but typeset -Z option is not found in bash, Pls get me the equivalent option in BASH Thanks in... (1 Reply)
Discussion started by: krishna
1 Replies
Login or Register to Ask a Question