TY - GEN
T1 - Word expansion supports POSIX shell interactivity
AU - Greenberg, Michael
N1 - Publisher Copyright:
© 2018 Copyright held by the owner/author(s).
PY - 2018/4/9
Y1 - 2018/4/9
N2 - The POSIX shell is the standard tool to deploy, control, and maintain systems of all kinds; the shell is used on a sliding scale from one-off commands in an interactive mode all the way to complex scripts managing, e.g., system boot sequences. For all of its utility, the POSIX shell is feared and maligned as a programming language: the shell is feared because of its incredible power, where a single command can destroy not just local but also remote systems; the shell is maligned because its semantics are non-standard, using word expansion where other languages would use evaluation. I conjecture that word expansion is in fact an essential piece of the POSIX shell's interactivity; word expansion is well adapted to the shell's use cases and contributes critically to the shell's interactive feel.
AB - The POSIX shell is the standard tool to deploy, control, and maintain systems of all kinds; the shell is used on a sliding scale from one-off commands in an interactive mode all the way to complex scripts managing, e.g., system boot sequences. For all of its utility, the POSIX shell is feared and maligned as a programming language: the shell is feared because of its incredible power, where a single command can destroy not just local but also remote systems; the shell is maligned because its semantics are non-standard, using word expansion where other languages would use evaluation. I conjecture that word expansion is in fact an essential piece of the POSIX shell's interactivity; word expansion is well adapted to the shell's use cases and contributes critically to the shell's interactive feel.
KW - Command line interface
KW - Evaluation
KW - Interactive programming
KW - Splicing
KW - String manipulation
KW - word expansion
UR - http://www.scopus.com/inward/record.url?scp=85053709764&partnerID=8YFLogxK
UR - http://www.scopus.com/inward/citedby.url?scp=85053709764&partnerID=8YFLogxK
U2 - 10.1145/3191697.3214336
DO - 10.1145/3191697.3214336
M3 - Conference contribution
AN - SCOPUS:85053709764
SN - 9781450355131
T3 - ACM International Conference Proceeding Series
SP - 153
EP - 160
BT - Programming 2018 Companion - Conference Companion of the 2nd International Conference on Art, Science, and Engineering of Programming
A2 - Sartor, Jennifer B.
A2 - Marr, Stefan
T2 - 2nd International Conference on Art, Science, and Engineering of Programming, Programming 2018
Y2 - 9 April 2018 through 12 April 2018
ER -