freebsd-skq/bin/sh
jilles 5a49f52603 sh: Add $'quoting' (C-style escape sequences).
A string between $' and ' may contain backslash escape sequences similar to
the ones in a C string constant (except that a single-quote must be escaped
and a double-quote need not be). Details are in the sh(1) man page.

This construct is useful to include unprintable characters, tabs and
newlines in strings; while this can be done with a command substitution
containing a printf command, that needs ugly workarounds if the result is to
end with a newline as command substitution removes all trailing newlines.

The construct may also be useful in future to describe unprintable
characters without needing to write those characters themselves in 'set -x',
'export -p' and the like.

The implementation attempts to comply to the proposal for the next issue of
the POSIX specification. Because this construct is not in POSIX.1-2008,
using it in scripts intended to be portable is unwise.

Matching the minimal locale support in the rest of sh, the \u and \U
sequences are currently not useful.

Exp-run done by: pav (with some other sh(1) changes)
2011-05-05 20:55:55 +00:00
..
bltin sh: Add kill builtin. 2010-12-21 22:47:34 +00:00
funcs sh: Update the suspend example for the change of the job control flag 2010-11-13 22:20:46 +00:00
alias.c sh: Remove special code for shell scripts without magic number. 2011-02-04 22:47:55 +00:00
alias.h sh: Remove special code for shell scripts without magic number. 2011-02-04 22:47:55 +00:00
arith_yacc.c sh: Apply set -u to variables in arithmetic. 2011-05-04 22:12:22 +00:00
arith_yacc.h sh: Import arithmetic expression code from dash. 2011-02-08 23:18:06 +00:00
arith_yylex.c Remove unnecessary cast. 2011-03-07 07:31:15 +00:00
arith.h sh: Import arithmetic expression code from dash. 2011-02-08 23:18:06 +00:00
builtins.def sh: Add kill builtin. 2010-12-21 22:47:34 +00:00
cd.c sh: Add a function to print warnings (with command name and newline). 2010-12-21 20:47:06 +00:00
cd.h sh: On startup of the shell, use PWD from the environment if it is valid. 2010-04-17 14:35:46 +00:00
error.c sh: Add a function to print warnings (with command name and newline). 2010-12-21 20:47:06 +00:00
error.h sh: Allow EV_EXIT through function calls, make {...} <redir more consistent. 2011-04-23 22:28:56 +00:00
eval.c sh: Set $? to 0 for background commands. 2011-04-25 20:54:12 +00:00
eval.h sh: Various warning fixes (from WARNS=6 NO_WERROR=1): 2009-12-27 18:04:05 +00:00
exec.c sh: Remove clearcmdentry()'s now unused argument. 2011-02-05 14:08:51 +00:00
exec.h sh: Remove clearcmdentry()'s now unused argument. 2011-02-05 14:08:51 +00:00
expand.c Fix typos - remove duplicate "the". 2011-02-21 09:01:34 +00:00
expand.h sh: Don't do optimized command substitution if expansions have side effects. 2010-12-28 21:27:08 +00:00
histedit.c sh: Properly restore exception handler in fc. 2010-12-29 19:39:51 +00:00
init.h sh: Remove special code for shell scripts without magic number. 2011-02-04 22:47:55 +00:00
input.c sh: Remove special code for shell scripts without magic number. 2011-02-04 22:47:55 +00:00
input.h sh: Constify various strings. 2009-12-24 18:41:14 +00:00
jobs.c sh: Remove special code for shell scripts without magic number. 2011-02-04 22:47:55 +00:00
jobs.h sh: Forget about terminated background processes sooner. 2010-06-29 22:37:45 +00:00
mail.c Consistently use "STATIC" for all functions in order to be able to set 2010-10-13 04:01:01 +00:00
mail.h
main.c sh: Allow EV_EXIT through function calls, make {...} <redir more consistent. 2011-04-23 22:28:56 +00:00
main.h sh: Do not run callers' exception handlers in subshells. 2009-12-25 20:21:35 +00:00
Makefile sh: Import arithmetic expression code from dash. 2011-02-08 23:18:06 +00:00
memalloc.c sh: Follow-up to r216743, grabstackblock() can be replaced with stalloc(). 2011-01-09 22:47:58 +00:00
memalloc.h sh: Follow-up to r216743, grabstackblock() can be replaced with stalloc(). 2011-01-09 22:47:58 +00:00
miscbltin.c sh: Code size optimizations to "stack string" memory allocation: 2010-11-23 22:17:39 +00:00
mkbuiltins sh: Various warning fixes (from WARNS=6 NO_WERROR=1): 2009-12-27 18:04:05 +00:00
mkinit.c sh: Remove special code for shell scripts without magic number. 2011-02-04 22:47:55 +00:00
mknodes.c
mksyntax.c sh: Add $'quoting' (C-style escape sequences). 2011-05-05 20:55:55 +00:00
mktokens
myhistedit.h sh: Pass TERM changes to libedit. 2010-06-02 19:16:58 +00:00
mystring.c sh: Various warning fixes (from WARNS=6 NO_WERROR=1): 2009-12-27 18:04:05 +00:00
mystring.h
nodes.c.pat In the spirit of r90111, depend on c89 and remove the "STATIC" macro 2010-10-13 22:18:03 +00:00
nodetypes
options.c sh: Check setuid()/setgid() return values. 2011-04-25 10:14:29 +00:00
options.h sh: Various warning fixes (from WARNS=6 NO_WERROR=1): 2009-12-27 18:04:05 +00:00
output.c sh: Use vsnprintf() rather than crafting our own in fmtstr(). 2010-12-11 17:47:27 +00:00
output.h sh: Code size optimizations to buffered output. 2010-11-20 14:14:52 +00:00
parser.c sh: Add $'quoting' (C-style escape sequences). 2011-05-05 20:55:55 +00:00
parser.h sh: Do IFS splitting on word in ${v+word} and ${v-word}. 2010-10-29 13:42:18 +00:00
redir.c sh: Remove special code for shell scripts without magic number. 2011-02-04 22:47:55 +00:00
redir.h
sh.1 sh: Add $'quoting' (C-style escape sequences). 2011-05-05 20:55:55 +00:00
shell.h sh: Detect dividing the smallest integer by -1. 2011-02-12 23:44:05 +00:00
show.c In the spirit of r90111, depend on c89 and remove the "STATIC" macro 2010-10-13 22:18:03 +00:00
show.h sh: Constify various strings. 2009-12-24 18:41:14 +00:00
TOUR sh: Remove special code for shell scripts without magic number. 2011-02-04 22:47:55 +00:00
trap.c sh: Remove special code for shell scripts without magic number. 2011-02-04 22:47:55 +00:00
trap.h sh: Make exit without parameters from EXIT trap POSIX-compliant. 2011-01-08 23:08:13 +00:00
var.c sh: Remove special code for shell scripts without magic number. 2011-02-04 22:47:55 +00:00
var.h sh: Check readonly status for assignments on regular builtins. 2011-01-01 13:26:18 +00:00