Path to this page:
Subject: CVS commit: wip/pipestatus
From: Aleksey Cheusov
Date: 2009-09-13 10:18:55
Message id: E1MmkIg-0002ql-NI@ddv4jf1.ch3.sourceforge.com
Log Message:
update to version 0.6.0
Major changes:
- Symbols "'`*\?&|; etc. are correctly escaped before eval'ed.
As a result all these symbols are allowed in commands.
For example,
# the following command outputs ''??????{}!&| --- ??????{}!&|'''
runpipe_base \
awk 'BEGIN {print "+*<>(){}!&|"; exit 41}' '|' \
sed 's,[+*<>()],?,g' '|' \
awk '{print $0 " --- " $0; exit 43}' '|' \
awk "{print \"''\" \$0 \"'''\"; exit 44}"
echo "$pipestatus_all" # '41 0 43 44'
echo "$pipestatus_1" # '41'
echo "$pipestatus_2" # '0'
echo "$pipestatus_3" # '43'
echo "$pipestatus_4" # '44'
echo "$pipesize" # '4'
Regresion test for this case.
- Support for shitty Solaris /bin/sh
$(()) is replaced with expr(1),
$() -- with ``,
for i -- with for i in "$@"
- Makefile: new target "test_all" for testing all available shells
Files: