![]() |
|
|
|
|
|||||||
| Forums | Portal | Register | Rules & FAQ | Contribute | Members List | Arcade | Search | Today's Posts | Mark Forums Read |
| Shell Programming and Scripting Post questions about KSH, CSH, SH, BASH, PERL, PHP, SED, AWK and OTHER shell scripts here. |
|
|
||||
| Thread | Thread Starter | Forum | Replies | Last Post |
| passing variable from bash to perl from bash script | arsidh | Shell Programming and Scripting | 10 | 06-04-2008 09:25 AM |
| Bash differences on unix's | bongobonga | UNIX for Dummies Questions & Answers | 4 | 02-02-2008 10:21 AM |
| Differences between SAN and NAS | jigarlakhani | Filesystems, Disks and Memory | 2 | 11-15-2003 01:09 PM |
| differences nis nis+ | joerg | IP Networking | 2 | 06-24-2002 12:47 AM |
|
|
LinkBack | Thread Tools | Display Modes |
| Forum Sponsor | ||
|
|
|
||||
|
http://www.faqs.org/faqs/unix-faq/sh...l-differences/
This FAQ lists the differences between a few different shells. About half-way down is a comparison of which functions are available/unavailable in the different shells. |
|
||||
|
In my opinion they are fairly close, but both have commands available to one and not the other, for example substring command is not supported in sh but is in bash ${TEST:$i:1} For arrays, in /sh you use the following syntax
${array} - accesses element 0 ${array[i]} accessed element 0 - 1023 ${array[*]} and ${array[@]} -uses all elements of the array (list), the difference in the two is that one set is quoted and the other isnt You can skip the ${ } syntax in sh by using (( array[ ] )) Personally, I think sh (actually ksh) is better suited for scripting (some may disagree...like I said, just my opinion). If you want emacs set your EDITOR variable to use emacs. /sh by default uses vi...pretty easy to use once you struggle through the command syntax!!! Use set -o to see what options you have turned on. To get your history, use ESC-j or ESC-k to scroll up or down. command expansion, hit ESC twice to expand what you are typing on command line. Like bash, you can use / to search your command history. Plenty other differences Im sure, pick up O'Reilly - UNIX in a Nutshell to see all commands specific to sh. |
|
||||
|
If you like bash a lot, maybe you should just continue to use it. Solaris 8 includes bash in the full distrubution. And bash precompiled for Sun boxes is available at http://www.sunfreeware.com
|
|
||||
|
google, I am facinated by what you said about setting the EDITOR variable to 'vi'. I tried this but was unable to make use of the ESC-i and ESC-k to peruse the history in 'sh'. I have a feeling I misunderstood something though. (I'm using Solaris 8 BTW) When you mentioned using 'vi', perhaps you weren't talking about editing commands at the 'sh' prompt? Thanks for everyones suggestions.
|
|
||||
|
I am using HPUX 11.xx my shell is by default ksh
To see what options you have turned on, run the following command: set -o Output from my system gave me: sh ---> set -o Current option settings allexport on bgnice on emacs off errexit off gmacs off ignoreeof off interactive on keyword off markdirs off monitor on noexec off noclobber off noglob off nolog off nounset on privileged off restricted off trackall off verbose off vi on viraw off xtrace off sh ---> If vi is not "on", you can turn it on by running the following command: set -o vi After that, verify its on by re-running set -o....then try using ESC-j and ESC-k to see command history..On HPUX at least, the command history and line expansion is a function of vi. |