Open main menu
Home
Random
Recent changes
Special pages
Community portal
Preferences
About Wikipedia
Disclaimers
Incubator escapee wiki
Search
User menu
Talk
Dark mode
Contributions
Create account
Log in
Editing
Scsh
Warning:
You are not logged in. Your IP address will be publicly visible if you make any edits. If you
log in
or
create an account
, your edits will be attributed to your username, along with other benefits.
Anti-spam check. Do
not
fill this in!
{{Short description|Unix shell}} {{Infobox software | name = Scsh | logo = Scsh logo.png | screenshot = | caption = | author = Olin Shivers | developer = Brian Carlstrom<br />Martin Gasbichler<br />Mike Sperber | released = {{Start date and age|1994|10|31|df=yes}} | latest release version = 0.6.7 | latest release date = {{Start date and age|2006|05|16|df=yes}} | latest preview version = | latest preview date = | repo = {{URL|github.com/scheme/scsh}} | programming language = [[Scheme 48]] | operating system = [[Unix-like]] | platform = [[IA-32]] | size = 4.2 MB | language = English | genre = [[Unix shell]] | license = [[BSD licenses|BSD-3-Clause]] | alexa = | website = {{URL|www.scsh.net}} | standard = | AsOf = }} '''Scsh''' (a ''Scheme shell'') is computer [[software]], a type of [[Shell (computing)|shell]] for an [[operating system]]. It is a Portable Operating System Interface ([[POSIX]]) [[application programming interface]] (API) layered on the programming language [[Scheme (programming language)|Scheme]], in a manner to make the most of Scheme's ability for [[Scripting language|scripting]]. Scsh is limited to [[32-bit]] platforms but there is a development version against the latest [[Scheme 48]] that works in [[64-bit]] mode.<ref>{{cite web |url=https://github.com/scheme/scsh |title=scheme/scsh: A Unix shell embedded in scheme|website=GitHub |access-date=2024-01-12}}</ref> It is [[free and open-source software]] released under the [[BSD licenses|BSD-3-Clause]] license. ==Features== Scsh includes these notable features: * [[Library (computing)|Library]] support for list, character, and [[String (computer science)|string]] manipulations; * [[Regular expression]]s manipulation support using ''scheme regular expressions'', a [[domain-specific language]] (DSL), or little languages, approach to the abilities; * Strong networking support; * High-level support for [[awk]] like scripts, integrated into the language as [[Macro (computer science)|macros]]; * Abstractions supporting [[pseudo terminal]]s; * A [[Shell (computing)|shell]] language, modeled using [[quasi-quotation]]. ==Example== * Print a list of all the executables available in the current [[Environment variable|PATH]] to the [[standard output]]: <syntaxhighlight lang="scheme"> #!/usr/local/bin/scsh -s !# (define (executables dir) (with-cwd dir (filter file-executable? (directory-files dir #t)))) (define (writeln x) (display x) (newline)) (for-each writeln (append-map executables ((infix-splitter ":") (getenv "PATH")))) </syntaxhighlight> =="Acknowledgments"== The reference manual for Scsh includes a spoof [[Acknowledgment (creative arts)|Acknowledgments]] section<ref>{{cite web |url=http://philip.greenspun.com/wtr/dead-trees/acknowledgments.html |title=Acknowledgements (reprinted in Philip Greenspun's book, ''Database-backed Web Sites'') |website=Philip Greenspun |access-date=2018-12-04}}</ref> written by Olin Shivers. It starts: :''Who should I thank? My so-called "colleagues", who laugh at me behind my back, all the while becoming famous on my work? My worthless graduate students, whose computer skills appear to be limited to downloading bitmaps off of netnews? My parents, who are still waiting for me to quit "fooling around with computers," go to med school, and become a radiologist? My department chairman, a manager who gives one new insight into and sympathy for disgruntled postal workers?'' and concludes with: :''Oh, yes, the acknowledgements. I think not. I did it. I did it all, by myself.'' ==See also== {{Portal|Free and open-source software}} *[[Unix shell]] *[[Comparison of command shells]] ==References== {{Reflist}} ==External links== *{{Official website|www.scsh.net}} *{{GitHub|scheme/scsh}} *[http://sourceforge.net/projects/scsh/ Sourceforge project page] *[http://www.scsh.net/download/download.html Downloads] {{Unix shells}} {{Lisp programming language}} [[Category:Unix shells]] [[Category:Scheme (programming language) interpreters]] [[Category:Scheme (programming language) implementations]] [[Category:Scripting languages]] [[Category:Software using the BSD license]] {{Unix-stub}}
Edit summary
(Briefly describe your changes)
By publishing changes, you agree to the
Terms of Use
, and you irrevocably agree to release your contribution under the
CC BY-SA 4.0 License
and the
GFDL
. You agree that a hyperlink or URL is sufficient attribution under the Creative Commons license.
Cancel
Editing help
(opens in new window)
Pages transcluded onto the current version of this page
(
help
)
:
Template:Cite web
(
edit
)
Template:GitHub
(
edit
)
Template:Infobox
(
edit
)
Template:Infobox software
(
edit
)
Template:Lisp programming language
(
edit
)
Template:Main other
(
edit
)
Template:Official website
(
edit
)
Template:Portal
(
edit
)
Template:Reflist
(
edit
)
Template:Short description
(
edit
)
Template:Template other
(
edit
)
Template:Unix-stub
(
edit
)
Template:Unix shells
(
edit
)