Comments (7)
I don't think there's any separate or special shell history specific to the BSDs. Just the history of shells, some of which happen to be developed and maintained by BSD projects.
/bin/sh is:
ash on FreeBSD, NetBSD, and DragonFly
ksh on OpenBSD
I'm sure ash on FreeBSD and NetBSD are mostly compatible, slightly diverged. ash on DragonFly may just be a direct vendor sync from FreeBSD with any needed patches on top.
oksh and loksh shouldn't generate different outputs ever (modulo syncing with OpenBSD). You're right, our scopes are different: loksh aims solely at Linux, whereas oksh aims for as many environments and compilers as possible.
from oksh.
Thanks.
So you're not aware of projects aiming to build the FreeBSD or NetBSD sh (i.e. with their current code base) for linux or other platforms?
from oksh.
I would imagine that with the existence of dash, no one finds it necessary to port ash.
Repology.org also doesn't know of any modern ash port to another operating system.
from oksh.
Sure, dash is quite fine, but as I bet you know the devil is in the details, and some shells do mostly fine except where they don't (for instance, OpenBSD ksh doesn't apply "$@"
correctly when IFS is non-standard).
So for the sake of compatibility testing, it's not enough to assume IMHO that if it works in dash then it would also work in BSD ash.
Anyway, thanks again. Maybe I'll try to ask the NetBSD folks about it.
from oksh.
Hmm.. now that I think about it, does OpenBSD have ash which is reasonably close to FreeBSD and/or NetBSD ash? If yes, maybe the oksh portability framework could be used to build that as well?
from oksh.
The "$@" bug has been fixed: https://marc.info/?l=openbsd-cvs&m=160001156508985&w=2
There is no ash in OpenBSD's sources. It was removed something like 20 years ago. /bin/sh is ksh.
I did however make a port of NetBSD ash some time ago to do some unrelated work: https://github.com/ibara/ash
You can build it with make obj && make
but make sure to run cvs diff
first so you can see the changes I had to make.
from oksh.
The "$@" bug has been fixed:
Huh, interesting. I reported it on the Sep 12th here https://marc.info/?t=159986957700001&r=1&w=4 and I've been following the thread, but there were no further replies so I assumed it just stalled again (previous time was 4 years ago).
I did however make a port of NetBSD ash some time ago to do some unrelated work: https://github.com/ibara/ash
Much appreciated. I'll take a look.
FWIW, I asked at #netbsd on IRC, and was told there are no ports of their default shell to other platforms.
(feel free to close this issue at any time)
from oksh.
Related Issues (20)
- Is it possible to release a new tarball? HOT 4
- set -A no longer works HOT 1
- Provide sample ksh.kshrc HOT 1
- wrong configure option inside termux HOT 8
- ^L in vi mode prints the prompt incorrecty when PS1 is more than one line HOT 7
- `./configure --enable-ksh` stills installs manual as `oksh` HOT 3
- Announcement: renaming branch to main on 11/26. HOT 2
- FreeBSD 12.2p4: ^L in vi-mode prints as a string of literals rather than clearing the screen HOT 3
- Stop line wrapping in emacs mode. HOT 1
- oksh not compliant with ksh88 vi-editing mode?
- `shift $#` inside for loop without `in word...` part breaks the parameter list HOT 1
- down-history: difference with bash/ksh
- Feature request: bashism "<<<"
- Compiling oksh against netbsd-curses HOT 3
- $RANDOM within scripts returns the same value HOT 3
- What is correct value for TERM to ^L=clear-screen on Linux? HOT 5
- ksh attempts to cd into non-existent cdpath before trying argument first HOT 11
- command wrapping too early HOT 5
- Building fine on MSYS2 MSYS HOT 1
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from oksh.